实验二用matlab绘制一元函数与二元数的图象.docVIP

  • 21
  • 0
  • 约2.67千字
  • 约 7页
  • 2019-01-04 发布于浙江
  • 举报

实验二用matlab绘制一元函数与二元数的图象.doc

实验二用matlab绘制一元函数与二元数的图象

实验二? 用matlab绘制一元函数与二元函数的图象 ? 1.平面曲线的表示形式 对于平面曲线,常见的有三种表示形式,即以直角坐标方程,以参数方程,和以极坐标表示等三种形式。 2.曲线绘图的MATLAB命令 MATLAB中主要用plot,fplot二种命令绘制不同的曲线。 ? ? plot(x,y)? 作出以数据(x(i),y(i))为节点的折线图,其中x,y为同维数的向量。 plot(x1,y1,x2,y2,…) 作出多组数据折线图 fplot(‘fun’,[a,b]) 作出函数fun在区间[a,b]上的函数图。 可以用help plot, help fplot查阅有关这些命令的详细信息 例16.2.1? 作出函数的图形,并观测它们的周期性。先作函数在上的图形,用MATLAB作图的程序代码为: x=linspace(-4*pi,4*pi,300);??? %产生300维向量x y=sin(x); plot(x,y)?????? %二维图形绘图命令 结果如图1.1,上述语句中%后面如“%产生300维向量x”是说明性语句,无需键入。 图1.1? 的图形 此图也可用fplot命令,相应的MATLAB程序代码为: clear; close;? %clear清理内存;close关闭已有窗口。 fplot(sin(x),[-4*pi,4*pi]) 结果如图1.2. 图1.2 的图形 如果在同一坐标系下作出两条曲线和在上的图形,相应的MATLAB程序代码为: x=-2*pi:2*pi/30:2*pi;??? %产生向量x y1=sin(x); y2=cos(x); plot(x,y1,x,y2,’:’)??? %’:’表示绘出的图形是点线 结果如图1.3其中实线是的图形,点线是的图形。 图1.3 的图形 ??? 3.线型、标记和颜色的控制  符号 颜色 符号 标记 符号 线型 b 蓝色 . 点 - 实线 g 绿色 。 圆圈 : 点线 r 红色 × 叉号 -. 点划线 c 青色 * 星号 ―― 虚线 m 紫红色 s 正方形 ? ? y 黄色 d 菱形 ? ? k 黑色 v 三角形(下) ? ? w 白色 ^ 三角形(上) ? ? ? ? p 五角星 ? ? ? ? h 六边形 ? ? ??? 例16.2.2将例1得到的图形用不同的线型及颜色加以绘制。 x=-2*pi:2*pi/30:2*pi;??? %产生向量x y1=sin(x); y2=cos(x); plot(x,y1,x,y2,’gp’)??? %’ gp’表示绘出的图形是绿色五角星线 结果如图1.4 ??? 例16.2.3 作出以极坐标方程表示的心脏线 相应的MATLAB程序代码为: clear; close; t=0:2*pi/30:2*pi; r=1+cos(t); x=r.*cos(t); y=r.*sin(t);? %极坐标转化为直角坐标 plot(x,y) 结果如图1.5 ? 图1.5心脏线 ? 3.曲面绘图的MATLAB命令 MATLAB中主要用mesh,surf命令绘制二元函数图形。 ? ? mesh(x,y,z)? 画网格曲面,这里x,y,z是三个数据矩阵,分别表示数据点的横坐标,纵坐标和函数值,该命令将数据点在空间中描出,并连成网格。 surf(x,y,z)? 画完整曲面,这里x,y,z是三个数据矩阵,分别表示数据点的横坐标,纵坐标和函数值,该命令将数据点所表示曲面画出。 ? 可以用help mesh, help surf查阅有关这些命令的详细信息 例16.2.4? 画出函数的图形,不妨将区域限制在。用MATLAB作图的程序代码为: clear; x=-3:0.1:3;? %x的范围为[-3,3] y=-3:0.1:3; %y的范围为[-3,3] [X,Y]=meshgrid(x,y);? %将向量x,y指定的区域转化为矩阵X,Y Z=sqrt(X.^2+Y.^2);??? %产生函数值Z mesh(X,Y,Z) 结果如图5.1。图5.1是网格线图,如果要画完整的曲面图,只需将上述的MATLAB代码mesh(X,Y,Z)改为surf(X,Y,Z), 结果如图5.2 ? ? ?图5.1? 锥面 ? 图5.2? 锥面 ? 要画等高线,需用contour,contour3命令.其中contour为二维等高线, contour3为三维等高线,如画图5.1的三维等高线, MATLAB代码为: clear; x=-3:0.1:3; y=-3:0.1:3; [X,Y]=meshgrid(x,y); Z=sqrt(X.^2+Y.^2); contour3(X,Y,Z,10)? %画10条等高线 xlabel(X-axis),ylabel(Y-axis),zlabel(Z-

文档评论(0)

1亿VIP精品文档

相关文档