1、matlab plotMATLAB有很强的图形功能,可以方便地实现数据的视觉化。强大的计算功能与图形功能相结合为MATLAB在科学技术和教学方面的应用提供了更加广阔的天地。下面着重介绍二维图形的画法,对三维图形只作简单叙述。5.1 二维图形的绘制5.1.1 基本形式二维图形的绘制是MATLAB语言图形处理的基础,MATLAB最常用的画二维图形的命令是plot,看两个简单的例子: y=0 0.58 0.70 0.95 0.83 0.25; plot(y)生成的图形见图5-1,是以序号为横坐标、数组y的数值为纵坐标画出的折线。 x=linspace(0,2*pi,30); % 生成一组线性等距的数
2、值 y=sin(x); plot(x,y)生成的图形见图5-2,是上30个点连成的光滑的正弦曲线。 图5-25.1.2 多重线在同一个画面上可以画许多条曲线,只需多给出几个数组,例如 x=0:pi/15:2*pi; y1=sin(x); y2=cos(x); plot(x,y1,x,y2)则可以画出图5-3。多重线的另一种画法是利用hold命令。在已经画好的图形上,若设置hold on,MATLA将把新的plot命令产生的图形画在原来的图形上。而命令hold off 将结束这个过程。例如: x=linspace(0,2*pi,30); y=sin(x); plot(x,y)先画好图5-2,然后
3、用下述命令增加cos(x)的图形,也可得到图5-3。 hold on z=cos(x); plot(x,z) hold off图5-45.1.3 线型和颜色MATLAB对曲线的线型和颜色有许多选择,标注的方法是在每一对数组后加一个字符串参数,说明如下:线型 线方式: - 实线 :点线 -. 虚点线 - - 波折线。线型 点方式: . 圆点 +加号 * 星号 x x形 o 小圆颜色: y黄; r红; g绿; b蓝; w白; k黑; m紫; c青.以下面的例子说明用法: x=0:pi/15:2*pi; y1=sin(x); y2=cos(x); plot(x,y1,b:+,x,y2,g-.*)可得
4、图形5-4。5.1.4 网格和标记在一个图形上可以加网格、标题、x轴标记、y轴标记,用下列命令完成这些工作。 x=linspace(0,2*pi,30); y=sin(x); z=cos(x); plot(x,y,x,z) grid %画上网格线 xlabel(Independent Variable X) ylabel(Dependent Variables Y and Z) title(Sine and Cosine Curves)它们产生图5-5: 图5-5也可以在图形的任何位置加上一个字符串,如用: text(2.5,0.7,sinx)表示在坐标x=2.5, y=0.7处加上字符串si
5、nx。更方便的是用鼠标来确定字符串的位置,方法是输入命令: gtext(sinx)在图形窗口十字线的交点是字符串的位置,用鼠标点一下就可以将字符串放在那里。比如:t=1:0.1:10; y=sin(t); plot(y) gtext(sinx5.1.5 坐标系的控制在缺省情况下MATLAB自动选择图形的横、纵坐标的比例,如果你对这个比例不满意,可以用axis命令控制,常用的有:axis(xmin xmax ymin ymax) 中分别给出x轴和y轴的最大值、最小值axis equal 或 axis(equal) x轴和y轴的单位长度相同axis square 或 axis(square) 图框
6、呈方形axis off 或 axis(off) 清除坐标刻度还有axis auto axis image axis xy axis ij axis normal axis on axis(axis)用法可参考在线帮助系统。5.1.6 多幅图形可以在同一个画面上建立几个坐标系, 用subplot(m,n,p)命令;把一个画面分成mn个图形区域, p代表当前的区域号,在每个区域中分别画一个图,如 x=linspace(0,2*pi,30); y=sin(x); z=cos(x); u=2*sin(x).*cos(x); v=sin(x)./cos(x); subplot(2,2,1),plot(x
7、,y),axis(0 2*pi 1 1),title(sin(x) subplot(2,2,2),plot(x,z),axis(0 2*pi 1 1),title(cos(x) subplot(2,2,3),plot(x,u),axis(0 2*pi 1 1),title(2sin(x)cos(x) subplot(2,2,4),plot(x,v),axis(0 2*pi 20 20),title(sin(x)/cos(x)共得到4幅图形,见图5-6.图5-65.2 三维图形限于篇幅这里只对几种常用的命令通过例子作简单介绍.5.2.1 带网格的曲面例 作曲面z=f(x,y)的图形用以下程序实现
8、: x=-7.5:0.5;7.5; y=x; X,Y=meshgrid(x,y); (3维图形的X,Y数组) R=sqrt(X.2+Y.2)+eps; (加eps是防止出现0/0) Z=sin(R)./R; mesh(X,Y,Z) (3维网格表面)画出的图形如图5-7. mesh命令也可以改为surf, 只是图形效果有所不同,读者可以上机查看结果。图5-85.2.2 空间曲线例 作螺旋线 x=sint, y=cost, z=t用以下程序实现: t=0:pi/50:10*pi; plot3(sin(t),cos(t),t) (空间曲线作图函数, 用法类似于plot)画出的图形如图5-85.2.3
9、 等高线用contour 或 contour3 画曲面的等高线,如对图5-7的曲面, 在上面的程序后接contour(X,Y,Z,10) 即可得到10条等高线。5.2.4 其它较有用的是给三维图形指定观察点的命令view(azi,ele),azi 是方位角, ele 是仰角.缺省时 azi=ele=.5.3 图形的输出在数学建模中,往往需要将产生的图形输出到Word文档中。通常可采用下述方法:首先,在MATLAB图形窗口中选择【File】菜单中的【Export】选项,将打开图形输出对话框,在该对话框中可以把图形以emf、bmp、jpg、pgm等格式保存。然后,再打开相应的文档,并在该文档中选择【插入】菜单中的【图片】选项插入相应的图片即可。
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1