我有一个带有2个符号变量的函数,它非常复杂和冗长。我希望将它绘制在表面上。该函数如下所示:
y^(1/2)*x - y^(1/2)*(x - 1)*((40*y^2 + 60*y^(1/2) - 60*y^(3/2) - 10)/(90*y^(1/2)) + ...
每当我尝试绘图时,我得到:“未定义函数'plotfunc3d'用于'sym'”类型的输入参数或“从sym转换为double是不可能的”。
如何绘制曲面?感谢。
答案 0 :(得分:1)
如错误所示,您正在尝试使用为Matlab的默认浮点数据类型设计的函数绘制符号方程。你的问题很简洁,你甚至没有说明你是如何试图绘制有问题的函数的,所以我只是给出建议。
您有两种选择。您可以使用为符号数学设计的绘图函数,也可以使用浮点值替换所有参数和值。这是a list of ez-
plotting methods,可以用于符号方程。
其次,您可以使用subs
函数将值或值的矢量/矩阵替换为符号等式。如果您最终得到一个符号符号但不符合任何变量的等式,例如double
,您也可以尝试使用double(sym('pi'))
。
我真的不能更具体,因为你的问题不是,但你也可以尝试谷歌搜索“Matlab绘制符号函数”以获得更多结果。