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
運行結果