2. MATLAB 画图

1、在同一平面中的两个窗口分别画出心形线和马鞍面。
要求:
1、在图形上加格栅、图例和标注
2、定制坐标
3、以不同角度观察马鞍面

代码如下

ax1=subplot(1,2,1);
t=0:.01*pi:2*pi;
f1=polar(t,1+cos(t));
title('心形线');
legend(f1,'r=1+cost')
ax2=subplot(1,2,2);
x=linspace(-20,20,40);
y=linspace(-20,20,40); 
[X,Y]=meshgrid(x1,y1); 
Z = X.^2 - Y.^2;
f2=surf(X,Y,Z);
title('马鞍面');
legend(f2,'z=x^2-y^2','Location','NorthWest')
xlabel('x轴')
ylabel('y轴')
zlabel('z轴')
axis([-20 20 -20 20 -1000 1500])  
setAllowAxesRotate(rotate3d,ax1,false);
grid on

运行结果

 

 

 

 

 

clear
[x,y,z]=sphere(200);

%代码1,2的作用是把球变成半透明的样子
i=find(x.^2+y.^2-x>=0 & x.^2+y.^2+z.^2<1);  %代码1
z(i)=NaN;                                   %代码2
%代码1,2的作用是把球变成半透明的样子

mesh(x,y,z)
hold on
t=0:pi/20:2*pi;
x=(cos(t)+1)/2;
y=sin(t)/2;
z=linspace(-1.2,1.2,length(t));
X=meshgrid(x);
Y=meshgrid(y);
Z=[meshgrid(z)]';
surf(X,Y,Z)
xlabel('x'),ylabel('y'),zlabel('z')
title('球面 X^2+Y^2+Z^2=1和圆柱面X^2+Y^2=X所围成的区域')
rotate3d on

运行结果

 

posted @ 2020-08-05 13:45  SunCY  阅读(1262)  评论(0编辑  收藏  举报