matlab作球x^2+y^2+z^2=1的图像
我的程序如下x=-1:0.01:1;y=-1:0.01:1;[X,Y]=meshgrid(x,y);Z=sqrt(1-(X.^2+Y.^2));mesh(X,Y,Z)ho...
我的程序如下x=-1:0.01:1;y=-1:0.01:1;[X,Y]=meshgrid(x,y);Z=sqrt(1-(X.^2+Y.^2));mesh(X,Y,Z)hold onmesh(X,Y,-Z)结果图如下
我的问题是怎么把那个平面去掉,只留下球体 展开
我的问题是怎么把那个平面去掉,只留下球体 展开
2个回答
展开全部
x=-1:0.001:1;
y=-1:0.01:1;
[X,Y]=meshgrid(x,y);
Z=sqrt(1-(X.^2+Y.^2));
Z(find(imag(Z)~=0))=nan;
mesh(X,Y,Z)
hold on
mesh(X,Y,-Z)
但是中心数据少不好看,建议用极坐标画
t=linspace(0,pi,100);
p=linspace(0,2*pi,100);
[theta,phi]=meshgrid(t,p);
x=sin(theta).*sin(phi);
y=sin(theta).*cos(phi);
z=cos(theta);
mesh(x,y,z);
axis equal;
y=-1:0.01:1;
[X,Y]=meshgrid(x,y);
Z=sqrt(1-(X.^2+Y.^2));
Z(find(imag(Z)~=0))=nan;
mesh(X,Y,Z)
hold on
mesh(X,Y,-Z)
但是中心数据少不好看,建议用极坐标画
t=linspace(0,pi,100);
p=linspace(0,2*pi,100);
[theta,phi]=meshgrid(t,p);
x=sin(theta).*sin(phi);
y=sin(theta).*cos(phi);
z=cos(theta);
mesh(x,y,z);
axis equal;
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询