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.^...
程序如下:
>> 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.而球的方程是不可能的
所以不知道了!!!
求教高手!!! 展开
>> 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.而球的方程是不可能的
所以不知道了!!!
求教高手!!! 展开
3个回答
展开全部
画球体的方法很多,比如用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
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
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
[x,y,z]=sphere(50);
surf(10*x,10*y,10*z)
shading interp
surf(10*x,10*y,10*z)
shading interp
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询