
王小才 绘图实验之马鞍面.doc
4页淮阴工学学院数理学院 数学实验课程 实验报告实验名称 Matlab绘图 姓名 王小才 日期 2012-08-23 【实验目的及意义】[1]熟悉MATLAB曲面绘图命令;[2] 掌握MATLAB绘制平面图[3] 掌握MATLAB绘制空间曲面图;[4] 掌握MATLAB图形处理命令 通过该实验的学习,使学生能灵活应用MATLAB软件绘制一些常见的函数图像实验内容】一、 画出马鞍面在xy平面投影是单位圆,并且去掉马鞍面的1/4部分解答: 方法一:用for循环把去掉部分z的值设置为NaN 方法二:采用极坐标方法直接画出需要画的区域,即把要画的区域用极坐标生成网格,然后极坐标转化为平面坐标 下面程序采用的是方法二, 方法二程序耗时少程序命令% 画马鞍面 z=ax^2-by^2a=3;b=4;rho=0:0.01:1;theta=0:0.01:3/2*pi;[Rho,Theta]=meshgrid(rho,theta);%用极坐标生成网格x=Rho.*cos(Theta);y=Rho.*sin(Theta);%极坐标转化为平面坐标z=a*x.^2-b*y.^2;mesh(x,y,z)%马鞍面去掉1/4的部分 hold ont = 0:0.02: 2*pi;u = sin(t);v = cos(t);plot(u, v, 'm', 'linewidth', 2.5)s = linspace(0, 1, 50);plot(s, 0*s, 0*s, -s, 'b', 'linewidth', 2)sx = 0:0.05:1;sy = 0*sx;sz=a*sx.^2-b*sy.^2stem3(sx,sy,sz)sy = -1:0.05:0;sx = 0*sy;sz=a*sx.^2-b*sy.^2stem3(sx,sy,sz)t = 0:0.02: 2*pi;u1 = sin(t);v1 = cos(t);rz=-4*ones(size(u1));plot3(u1, v1, rz,'m', 'linewidth', 2.5)s = linspace(0, 1, 50);rho=1;theta=0:0.01:3/2*pi;[Rho,Theta]=meshgrid(rho,theta);x=Rho.*cos(Theta);y=Rho.*sin(Theta);z=a*x.^2-b*y.^2;n=length(x);for i = 1: n z1=-4:0.01:z(i); x1=x(i)*ones(size(z1)); y1=y(i)*ones(size(z1)); plot3(x1,y1,z1,'y')end view(-30, 30)title('A Part of surface z=ax^2-by^2', 'fontsize', 16)xlabel('x','FontName','Times New Roman','FontSize',14)ylabel('y','FontName','Times New Roman','FontSize',14,'Rotation',0) zlabel('z','FontName','Times New Roman','FontSize',14)set(gca,'FontName','Times New Roman','FontSize',14)运行结果:去掉边界的效果:第- 1 -页 共 4页。
