作业帮 > 综合 > 作业

matlab的三维画图 想画一个球 方程是x^2+y^2+z^2=100; 那么怎么画呢?

来源:学生作业帮 编辑:作业帮 分类:综合作业 时间:2024/05/15 03:12:39
matlab的三维画图 想画一个球 方程是x^2+y^2+z^2=100; 那么怎么画呢?
程序如下:
>> x=[-10:0.5:10];
>>y=sqrt(100-x.^2);
>> [x,y]=meshgrid(x,y);
>> z=sqrt(100-(x.^2+y.^2));
>> surf(x,y,z)
Error using ==> surf at 78
X,Y,Z,and C cannot be complex.
这样就出错了!
如果Y也y=[-10:0.5:10];会导致取值x=10,y=10.而球的方程是不可能的
画球体的方法很多,比如用sphere函数,程序如下:
clear;
clc;
[x,y,z]=sphere(100);
x=10*x;
y=10*y;
z=10*z;
surf(x,y,z)
xlabel('x')
ylabel('y')
zlabel('z')
axis equal
也许你会想问如果球心不在原点怎么办,方法如下:
x0=0;y0=0;z0=0; % 设定球心
r=10; % 设定半径
%下面开始画
[x,y,z]=sphere(50); % 参数可缺省
mesh(r*x+x0,r*y+y0,r*z+z0)
axis equal