在同一平面中的两个窗口分别画出心形线和马鞍面。
要求:
- 在图形上加格栅、图例和标注
- 定制坐标
- 以不同角度观察马鞍面
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
以不同的视角观察球面 x2+y2+z2=r2 x 2 + y 2 + z 2 = r 2 和圆柱面 x2+y2=r∗x 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
不足之处,请多指教。欢迎评论。