matlab surf函数画图报错

我用plot3画可以出图,但是是曲线图,我现在想要曲面图,用surf和mesh画图都会报错。surf函数报错如下:SWITCHexpressionmustbeascala... 我用plot3画可以出图,但是是曲线图,我现在想要曲面图,用surf 和 mesh画图都会报错。
surf函数报错如下:
SWITCH expression must be a scalar or string constant.

Error in graph3d.surfaceplot>localConstructor (line 98)
switch(c{i})

Error in graph3d.surfaceplot (line 7)
h = localConstructor(varargin{:});

Error in surf (line 101)
hh = double(graph3d.surfaceplot(args{:},'parent',parax));

Error in AutoOF (line 15)
surf(X,Y,Z,abs(Z));
用mesh报错如下:

SWITCH expression must be a scalar or string constant.

Error in graph3d.surfaceplot>localConstructor (line 98)
switch(c{i})

Error in graph3d.surfaceplot (line 7)
h = localConstructor(varargin{:});

Error in mesh (line 171)
hh = graph3d.surfaceplot(x,y,z,c,'FaceColor',fc,'EdgeColor','flat', ...

Error in AutoOF (line 15)
mesh(X,Y,Z,abs(Z));
变量XYZ的维度都是一致的,求解是为什么啊?
展开
 我来答
志当存高远389
2015-04-18 · 知道合伙人互联网行家
志当存高远389
知道合伙人互联网行家
采纳数:11236 获赞数:20406
08年毕业,一直从事计算机行业,从基层做起。有较强的实践操作能力。

向TA提问 私信TA
展开全部
1、首先,应该说明一下,EZPLOT在多数情况下画出的图还是比较准确的。不能因为某些情况下画出的图不准确就对它失去信心,毕竟EZ*这类函数用起来确实很方便。如果对于绘图结果有疑问,可考虑换用其它等效的表达方式试一试,看结果是否会有改进。

2、对于你说的这个函数,可以使用下述写法:
ezplot('x^2^(1/3)+y^2^(1/3)-1')
画出来的图应该是你想要的了吧?

3、说到原因,我也有点迷茫了。
好像这涉及到一个非常基本的问题:-1开三次方结果应该是什么?按照常理,(-1)^(1/3)是不是应该等于-1?但是你在MATLAB里面试一试
追问
!?问题和答案有什么关系。。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式