MATLAB绘制曲面报错‘Unrecognized function or variable 'x'’求助
解决MATLAB绘制曲面时“Unrecognized function or variable 'x'”的错误
你遇到的问题是因为直接用未定义的变量x、y构建表达式z,而MATLAB的fsurf函数需要接收函数句柄或符号表达式作为输入,而非未定义变量组成的式子。以下两种方法可解决问题:
方法一:使用符号变量定义表达式
先通过syms定义符号变量x和y,再构建曲面表达式,最后调用fsurf绘图:
clear syms x y z = sin(x) + cos(y)/x; fsurf(z, [0.1 3 -6 8])
方法二:使用匿名函数
直接将曲面定义为匿名函数(注意用元素除法./,保证数组运算的兼容性):
clear z = @(x,y) sin(x) + cos(y)./x; fsurf(z, [0.1 3 -6 8])
两种方法都能正确绘制目标曲面,匿名函数在后续数值运算中更灵活,符号表达式则更贴合数学公式的直观写法。
内容的提问来源于stack exchange,提问作者Mynameis
相关产品推荐
相关产品推荐

