作业帮 > 综合 > 作业

matlab画三维图问题

来源:学生作业帮 编辑:作业帮 分类:综合作业 时间:2024/05/06 04:30:14
matlab画三维图问题
我要画一个单位球,程序如下:
>> [x,y]=meshgrid(-1:0.05:1);
z=sqrt(1-x.^2-y.^2);
mesh(x,y,z);
提示说z不能为复数,我知道当x=1,y=1时,z为复数,但是难道画单位球时还要自己计算xy网格的范围使得根号下有意义吗?请问怎样修改程序才能画出一个球?
clear,clc
[x,y]=meshgrid(-1:0.05:1);
z=sqrt(1-x.^2-y.^2);
mesh(x,y,real(z));
hold on
mesh(x,y,-real(z));
这样就可以了,只取z的实部相当于限定了x,y只能在单位园内取值,只要跑到单位圆外real(z)=0,因此可以看到在z=0的平面上四角也有值,这也是这么做不太令人满意的地方,希望对你有帮助.