matlab画三维图问题

学习 时间:2026-04-03 14:34:04 阅读:4084
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网格的范围使得根号下有意义吗?请问怎样修改程序才能画出一个球?

最佳回答

踏实的银耳汤

贪玩的眼神

2026-04-03 14:34:04

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的平面上四角也有值,这也是这么做不太令人满意的地方,希望对你有帮助。

最新回答共有2条回答

  • 激昂的诺言
    回复
    2026-04-03 14:34:04

    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的平面上四角也有值,这也是这么做不太令人满意的地方,希望对你有帮助。

上一篇 给我一些古埃及神话(很长的)!急

下一篇 木门油漆工艺