matlab简明教程 下载本文

v=0:0.1:2*pi;

x=1+(3-cos(u)).*sin(v); y=1+(3-cos(u)).*cos(v); z=sin(u); plot3(x,y,z) 9、 设函数z?xe?x?y22试打印出下列图形:

1)打印函数的网格图和曲面图 解:x=0:0.1:2*pi; [x,y]=meshgrid(x); z=x.*(exp(-x.^2-y.^2)); surf(x,y,z); grid on;

xlabel('x-轴'),ylabel('y-轴'),zlabel('z-轴'); title('三维surf曲面图');

2)打印出函数的高度为v=[-0.4,-0.2,-.10,0.3,0.35]二维等值线图,并在图形上标出其高度。(提示:使用clable命令标高度) 解:x=0:0.1:2*pi; [x,y]=meshgrid(x); z=x.*(exp(-x.^2-y.^2)); surf(x,y,z);

grid on;

xlabel('x-轴'),ylabel('y-轴'),zlabel('z-轴'); title('三维surf曲面图'); [C,h]=contour 'r');

clabel(C,h);

3)打印出函数有20条等值线的三维等值线图, 解:x=0:0.1:2*pi; [x,y]=meshgrid(x); z=x.*(exp(-x.^2-y.^2)); surf(x,y,z); grid on;

xlabel('x-轴'),ylabel('y-轴'),zlabel('z-轴'); title('三维surf曲面图'); contour3(x,y,z,20,'k')

4)打印函数的伪彩色图。(提示使用Contourf(z)) 解:x=0:0.1:2*pi; [x,y]=meshgrid(x); z=x.*(exp(-x.^2-y.^2)); surf(x,y,z);

(x,y,z,[-0.4,-0.2,-.10,0.3,0.35],

grid on;

xlabel('x-轴'),ylabel('y-轴'),zlabel('z-轴'); title('三维surf曲面图'); Contourf(z)

10、 Chebyshev 多项式的定义如下: y = cos(m*cos-1x)

其中 x 的值介于 [-1, 1]。当 m 的值由 1 变化到 5,我们可得到五条曲线。请将这五条曲线画在同一张图上面,记得要使用 legend 指令来标明每一条曲线。 解:x=-1:0.1:1; y1=cos(1*1./cos(x)); y2=cos(2*1./cos(x)); y3=cos(3*1./cos(x)); y4=cos(4*1./cos(x)); y5=cos(5*1./cos(x));

plot(x,y1,x,y2,x,y3,x,y4,x,y5); legend('y1','y2','y3','y4','y5') (这题必考)

11、 试写一函数 regStar(n),其功能为画出一个圆心在 (0, 0)、半径为 1 的圆,并在圆内画出一个内接正 n 星形,其中一顶点位于 (0, 1)。例如 regStar(7) 可以画出如下之正 7 星型: 解:

function regStar(n) if n<3

error('边数应大于等于3'); else

t=0:pi/20:2*pi; x=cos(t);y=sin(t); plot(x,y,'r'); hold on; t=f(n).';

x=cos(t);y=sin(t); plot(x,y,'b'); axis equal; end

function t=f(n) p=n/2;

if p~=floor(p)

t=(0:n)*2*pi/n*floor(p)+pi/2;