matlab作图作业

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/beijiafei/article/details/80209568

在同一平面中的两个窗口分别画出心形线和马鞍面。
要求:

  • 在图形上加格栅、图例和标注
  • 定制坐标
  • 以不同角度观察马鞍面
function f = afun5()
t = -4*pi:0.01:4*pi;
    y = 2*cos(t) - cos(2*t);
    x = 2*sin(t) - sin(2*t);
    plot(x,y)
    title('心形线');
    grid on
    gtext('笛卡尔');
    pause
    figure(2);
    x1=linspace(-40,20,40); 
y1=linspace(-40,20,40); 
[xx1,yy1]=meshgrid(x1,y1); 
zz1=xx1.*yy1; 

subplot(2,2,1), surf(xx1,yy1,zz1)
     subplot(2,2,2), surf(xx1,yy1,zz1),view(20,30)
     subplot(2,2,3), surf(xx1,yy1,zz1),view(-50,20) 
     subplot(2,2,4), surf(xx1,yy1,zz1),view(60,10)

title('马鞍面'); 
%legend(f2,'z=x^2-y^2','Location','NorthWest') 
xlabel('x轴') 
ylabel('y轴') 
zlabel('z轴') 
axis([-40 20 -40 20 -1000 1500]) 
grid on

end

以不同的视角观察球面 x 2 + y 2 + z 2 = r 2 和圆柱面 x 2 + y 2 = r x 所围区域。

function f = afun6()
%以不同的视角观察球面和
%圆柱面所围区域。
%x = -2:0.01:2;
%y = -2:0.01:2;
%[X,Y] = meshgrid(x,y);
%Z = sqrt(4-X^2-Y^2);
%surf(X,Y,Z)
r = 2;
[x0,y0,z0] = sphere(50);
x = r*x0;
y = r*y0;
z = r*z0;
surf(x,y,z);
hold on;
p = @(x,y)x.^2+y.^2-r*x;
ezsurf(p,[-1.5,2.5],[-2,1.5]);
axis equal;
view(30,20);
end

参考一点网址:
https://wenku.baidu.com/view/a88a3d42fad6195f312ba6df.html
不足之处,请多指教。欢迎评论。

猜你喜欢

转载自blog.csdn.net/beijiafei/article/details/80209568
今日推荐