登录论坛

查看完整版本 : [MATLAB基础] 求助:如何画出分段函数曲面?


SFWQ1120
2009-10-10, 10:23
题目图片的截图地址如下:
http://www.yupoo.com/photos/view?id=ff808081132e9d9701133e237f841c4a

我编的M文件是:
[x,y]=meshgrid(-5:0.5:5,-5:0.5:5);
if (x+y)>1;
z=0.54*exp(-0.75*x*x-3.75*y*y-1.5*y);
mesh(z);
end
if (x+y)>-1&(x+y)<=1;
z=0.7575*exp(-1*x*x-6*y*y);
mesh(z);
end
if (x+y)<=-1;
z=0.5457*exp(-0.75*x*x-3.75*y*y+1.5*y);
mesh(z);
end
运行后没有反应,为什么呢?

freedomlh
2009-10-10, 21:48
[x,y]=meshgrid(-5:0.5:5,-5:0.5:5);
for i=1:length(x)
if (x(i)+y(i))>1
z=0.54*exp(-0.75*x*x-3.75*y*y-1.5*y);
end
if (x(i)+y(i))>-1 and (x(i)+y(i))<=1;
z=0.7575*exp(-1*x*x-6*y*y);
mesh(z);
end
if (x(i)+y(i))<=-1;
z=0.5457*exp(-0.75*x*x-3.75*y*y+1.5*y);
mesh(z);
end
end