你的数据范围大,你要网格密度小,这得看你的机器的本事了。
n=50; %调大这个
[x,y,z]=sphere(n);
x=x*300;
y=y*300;
z=z*300;
z(x<-150 | x>300)=nan;
z(y<0 |y>300)=nan;
z(z<-105|z>150)=nan;
mesh(x,y,z)
x=-150:300;y=0:300;
[X,Y]=meshgrid(x,y);
z1=sqrt(90000-X.^2-Y.^2);
z2=-sqrt(90000-X.^2-Y.^2);
for i=1:length(x)*length(y)
if z1(i)>150
z1(i)=NaN;
end
if z2(i)<-150
z2(i)=NaN;
end
end
mesh(x,y,z1)
hold on
mesh(x,y,z2)
hold off