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
求大神回答,该怎么解决这个问题。。。在线等,急、、、、 展开
ezimplot3(f,[-10 10])
Attempt to execute SCRIPT ezimplot3 as a function:
C:\Program Files (x86)\MATLAB\R2012a\ezimplot3.m
求大神回答,该怎么解决这个问题。。。在线等,急、、、、 展开
2个回答
展开全部
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
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询