作业帮 > 综合 > 作业

帮忙看看为什么这个程序用matlab 2007b可以出图形,2013a就显示空白呢、、、

来源:学生作业帮 编辑:拍题作业网作业帮 分类:综合作业 时间:2024/04/29 06:19:48
帮忙看看为什么这个程序用matlab 2007b可以出图形,2013a就显示空白呢、、、
syms x y z
f=x^2+y^4+z^3+2*y*z-5*sin(z)-4;
clf
for ii=-2:.2:2
h=ezplot(subs(f,z,ii),[-3 3]);
set(h,'zData',ii*ones(size(get(h,'xData'))));
hold on
end
title([char(f) ' = 0']);
zlabel('z');
view(40,25)
axis auto
我用matlab 2013a版,出来的图只有坐标轴,没图形
发给别人用2007b版本就可以正常显示图形,不知为何
哪位知道原因吗,怎样才能使2013a也可以显示出图形来,觉得2013a版本新一些
2008b之后matlab的符号计算工具箱的核心从maple改为了mupad,导致一些命令接口发生变化.maple无论从功能还是效率上均远高于mupad,是世界三大数学软件之一(另两个是matlab和mathmatica),因此如果要使用符号计算功能的,强烈建议使用2008b之前的版本.

本例中只是为了画图,可以不用符号工具箱的功能.

f=@(x,y,z)x.^2+y.^4+z.^3+2*y.*z-5*sin(z)-4;
clf
[x,y]=meshgrid(linspace(-3,3));
for ii=-2:.2:2
    [c,h]=contour3(x,y,f(x,y,ii),[0 0]);
    set(h,'zData', ii*ones(size(get(h,'xData'))),'edgecolor','b');
    hold on
end
title([ 'x^2+y^4+z^3+2*y*z-5*sin(z)-4 = 0']);
zlabel('z');
view(40, 25)
axis auto