matlab疑问

f='(x^2+x*y+x*z)*exp(-z)+z^2*y*x+sin(x+y+z^2)';ezimplot3(f,[-1010])AttempttoexecuteSC... f='(x^2+x*y+x*z)*exp(-z)+z^2*y*x+sin(x+y+z^2)';
ezimplot3(f,[-10 10])
Attempt to execute SCRIPT ezimplot3 as a function:
C:\Program Files (x86)\MATLAB\R2012a\ezimplot3.m
求大神回答,该怎么解决这个问题。。。在线等,急、、、、
展开
 我来答
tianxiawulang
2015-10-08 · TA获得超过2.7万个赞
知道大有可为答主
回答量:4732
采纳率:89%
帮助的人:2631万
展开全部

1、ezimplot3不是MATLAB自带函数,比较大可能是Gustavo Morales写的一个用于三维隐函数绘图的M文件,在mathworks官网有下载(完整链接度娘不让发,前面去掉了官网域名): /matlabcentral/fileexchange/23623-ezimplot3--implicit-3d-functions-plotter,但我目前暂时打不开这个地址,不知道其原始写法是函数还是脚本。之前在别的地方见过函数版本,可能是在此基础上改写的。

 

2、从题主的报错信息看,很显然,题主手上的版本是脚本。

 

3、题主可参考MATLAB中文论坛的一个帖子“MATLAB绘制3D隐函数曲面的方法总结”(/thread-264471-1-1.html),以便对这种方法的原理有所了解。我也借用该帖子的部分代码,改写了一个简单的函数,供题主使用(精力所限,没有考虑太多通用性,只保证可以适用题主目前的调用)。

 

参考代码:

function ezimplot3(f, lim)
N = 50;
f = inline(vectorize(sym(f)));
[x,y,z] = meshgrid(linspace(lim(1),lim(2),N));
v = f(x,y,z);
h = patch(isosurface(x,y,z,v,0)); 
isonormals(x,y,z,v,h)              
set(h,'FaceColor','r','EdgeColor','none');
xlabel('x');ylabel('y');zlabel('z'); 
alpha(1)   
grid on; view([1,1,1]);
axis equal; 
camlight; lighting gouraud

我行我素850915
2015-10-08 · TA获得超过8241个赞
知道大有可为答主
回答量:5788
采纳率:77%
帮助的人:1745万
展开全部
ezimplot3.m不是matlab自带的函数,可能是你自写的。matlab带的是ezplot3.m,用法不一样。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式