您好,欢迎访问三七文档
当前位置:首页 > 建筑/环境 > 电气安装工程 > 第4章 MATLAB绘图
第4章MATLAB绘图4.1二维图形4.2三维图形4.3三维图形的精细处理4.4图像与动画4.5低层绘图操作目录MATLAB提供多种图形功能,使你的数据或函数可视化,使数据不再是枯燥乏味的。使用MATLAB的图形函数,可以绘制二维或三维的数据图形和函数图形,如数据的散点图、直方图、茎干图、饼图、阶梯图和面积图等。使数据可视化的基本步骤是:1.准备好数据;2.选择适用的绘制图形函数;3.选择窗口和位置;4.编辑图形标注和说明;5.输出或保存图形。MATLAB提供了丰富的绘图功能helpgraph2d可得到所有画二维图形的命令helpgraph3d可得到所有画三维图形的命令4.1二维图形4.1.1绘制二维曲线的最基本函数1.plot函数的基本用法plot函数的基本调用格式为:plot(x,y)其中x和y为长度相同的向量,分别用于存储x坐标和y坐标数据。条件是元素个数能对应。目录例4.1在0≤X≤2区间内,绘制曲线y=2e-0.5xsin(2πx)。程序如下:目录x=0:pi/100:2*pi;y=2*exp(-0.5*x).*sin(2*pi*x);plot(x,y)说明:(1)当x,y是同维矩阵时,则以x,y对应列元素为横、纵坐标分别绘制曲线,曲线条数等于矩阵的列数。(2)当x是向量,y是有一维与x同维的矩阵时,则绘制出多根不同色彩的曲线。曲线条数等于y矩阵的另一维数,x被作为这些曲线共同的横坐标。目录x=0:pi/100:2*pi;y=[sin(2*pi*x);2*exp(-0.5*x).*sin(2*pi*x)];plot(x,y)(3)plot函数最简单的调用格式是只包含一个输入参数:plot(y)即绘制以向量Y元素值为纵坐标(假如元素为实数),它的下标值为横坐标的线性图(即绘制Y的列向量对其坐标索引的图形)。y=[00.580.70.950.830.25];plot(y);%实际上是画折线例4.2某工厂2000年各月总产值(单位:万元)分别为22、60、88、95、56、23、9、10、14、81、56、23,试绘制折线图以显示出该厂总产值的变化情况。程序如下:p=[22,60,88,95,56,23,9,10,14,81,56,23];plot(p)x=linspace(0,2*pi,30);y=sin(x);plot(y)注意1.为29等分,30维向量,2.与plot(y)的区别.x=linspace(0,2*pi,30);y=sin(x);plot(x,y)2.含多个输入参数的plot函数含多个输入参数的plot函数调用格式为:plot(x1,y1,x2,y2,…,xn,yn)3.含选项的plot函数含选项的plot函数调用格式为:plot(x1,y1,选项1,x2,y2,选项2,…,xn,yn,选项n)选项参数option定义了图形曲线的颜色、线型及标示符号,它由一对单引号括起来。目录线型线方式:-实线,:点线,-.虚点线,--波折线标记点.(圆点),+(加号),*(星号),x(叉号),o(圆点),s(方块),d(菱形),p(五角星),h(六角形)线的颜色:yyellow,rred,ggreen,bblue,wwrite,kblack,ccyan(青色)在不指定时,默认实线方式,颜色自动确定.不同种类的选项可搭配使用,如选项“ro”表示绘制红色的圆划线,“y-”表示黄色的实划线。例用不同线型和颜色在同一坐标内绘制曲线y=sinx,y=cosx的图像。程序如下:x=linspace(0,2*pi,100);plot(x,sin(x),‘kh’,x,cos(x),‘gp’)%正、余弦曲线分别用黑色六角形、绿色五角星表示例4.3用不同线型和颜色在同一坐标内绘制曲线y=2e-0.5xsin(2πx)及其包络线。程序如下:目录x=(0:pi/100:2*pi)';y1=2*exp(-0.5*x)*[1,-1];y2=2*exp(-0.5*x).*sin(2*pi*x);x1=(0:12)/2;y3=2*exp(-0.5*x1).*sin(2*pi*x1);plot(x,y1,'g:',x,y2,'b--',x1,y3,'rp');4.双纵坐标函数plotyyplotyy函数是MATLAB5.X新增的函数。它能把函数值具有不同量纲、不同数量级的两个函数绘制在同一坐标中。调用格式为:plotyy(x1,y1,x2,y2)其中x1—y1对应一条曲线,x2—y2对应另一条曲线。横坐标的标度相同,纵坐标有两个,左纵坐标用于x1—y1数据对,右纵坐标用于x2—y2数据对。目录例4.4用不同标度在同一坐标内绘制曲线y1=e-0.5xsin(2πx)及曲线y2=1.5e-0.1xsin(x)。程序如下:x1=0:pi/100:2*pi;x2=0:pi/100:3*pi;y1=exp(-0.5*x1).*sin(2*pi*x1);y2=1.5*exp(-0.1*x2).*sin(x2);plotyy(x1,y1,x2,y2);目录当使用MATLAB绘图函数,绘制好图形后,为了丰富图形的内涵,还必须对图形添加标题、坐标轴标签、文字说明、图例、辅助线、指示线等,见下图。4.1.2绘制图形的辅助操作1.图形标注MATLAB可以通过三种方式对图形进行标注。①从图形中直接标注。点击图形窗口中的插入菜单,在插入菜单中有子菜单x、y、z、label(坐标轴标签),text(文本说明),axes(坐标轴设置),light(光照设置)等供标注或设置。②使用图形标注函数进行标注。使用图形标注函数可以直接从程序中编写,当执行程序后,图形中自动添加了图形标注。③使用图形的属性编辑器。在当前图形的菜单栏中选择edit/figureproperties,并点击,即进行图形的属性编辑。在编辑器里可以对图形、线条、坐标、颜色、视角、光照进行编辑和设置。有关图形标注函数的调用格式为:title(‘字符串’):在所画图形的最上端显示说明该图形标题的字符串。xlabel(‘字符串’),ylabel(‘字符串’):分别为x,y坐标轴加上注解和说明,其中ylabel会自动旋转90º显示。text(x,y,’字符串’,‘属性名’,值)在图形的指定坐标位置(x,y)处,标示单引号括起来的字符串是要说明的内容,属性名及其定义字符串的显示格式。字符对象的常用属性如下:Color属性:1*3的颜色向量FontAngle属性:字体倾斜形式FontName属性:字体名称…….text(2.5,0.7,'sinx')在图中(2.5,0.7)处加字符串'sinx',或gtext('sinx'),用鼠标光标定位置x=linspace(0,2*pi,100);plot(x,sin(x),'kh',x,cos(x),'gp')text(pi,0,'\leftarrowsin(\pi)','fontSize',18)legend(‘字符串1’,‘字符串2’,…,‘字符串n’)在屏幕上开启一个小视窗,然后依据绘图命令的先后次序,用对应的字符串区分图形上的线。legend('y=sin(x)','y=cos(x)');x=linspace(0,2*pi,100);plot(x,sin(x),'kh',x,cos(x),'gp')text(pi,0,'\leftarrowsin(\pi)','fontSize',18)例4.5给图形添加图形标注。程序如下:x=(0:pi/100:2*pi)';y1=2*exp(-0.5*x)*[1,-1];y2=2*exp(-0.5*x).*sin(2*pi*x);x1=(0:12)/2;y3=2*exp(-0.5*x1).*sin(2*pi*x1);plot(x,y1,'g:',x,y2,'b--',x1,y3,'rp');title('曲线及其包络线');%加图形标题xlabel('independentvariableX');%加X轴说明ylabel('independentvariableY');%加Y轴说明gtext(‘包络线’);%在鼠标光标定位置添加图形说明gtext('包络线');gtext('曲线y');gtext('离散数据点');legend('包络线','包络线','曲线y','离散数据点')%加图例目录2.坐标控制—用户修改坐标系的范围的函数MATLAB可以根据所绘制曲线的范围自动选择适当的坐标系,使得曲线能够尽可能清晰地显示出来。所以一般情况下用不着考虑坐标范围的选择。但有特殊的需要时,用户可以手动地改变坐标系的范围。手动调整只须借助axis函数。函数的调用格式为:axis([xminxmaxyminymaxzminzmax])axis函数功能丰富,常用的用法还有:axisequal纵、横坐标轴采用等长刻度axissquare产生正方形坐标系(缺省为矩形)axisauto使用缺省设置axisoff取消坐标轴axison显示坐标轴目录【*例7.2.1-2】用图形表示连续调制波形及其包络线。t=(0:pi/100:pi)‘;%长度为101的时间采样列向量y1=sin(t)*[1,-1];%包络线函数值,是(101x2)的矩阵y2=sin(t).*sin(9*t);%长度为101的调制波列向量t3=pi*(0:9)/9;y3=sin(t3).*sin(9*t3);plot(t,y1,'r:',t,y2,'b',t3,y3,'bo')axis([0,pi,-1,1])%控制轴的范围00.511.522.53-1-0.8-0.6-0.4-0.200.20.40.60.813、选择图像figure(1);figure(2);…;figure(n)打开不同的图形窗口,以便绘制不同的图形。4、gridon:在所画出的图形坐标中加入栅格gridoff:除去图形坐标中的栅格不带参数的grid命令在两种状态之间进行切换。5、holdon:把当前图形保持在屏幕上不变,同时允许在这个坐标内绘制另外一个图形。holdoff:使新图覆盖旧的图形6、boxon/off命令控制是加还是不加边框线,不带参数的box命令在两种状态之间进行切换。x=0:pi/15:2*pi;y=sin(x);plot(x,y),holdon,z=cos(x);plot(x,z),holdoff例4.6用图形保持功能在同一坐标内绘制曲线y=2e-0.5xsin(2πx)及其包络线,并加网格线。程序如下:x=(0:pi/100:2*pi)';y1=2*exp(-0.5*x)*[1,-1];y2=2*exp(-0.5*x).*sin(2*pi*x);plot(x,y1,'b:');axis([0,2*pi,-2,2]);%设置坐标holdon;%设置图形保持状态plot(x,y2,'k');gridon;%加网格线boxoff;%不加坐标边框holdoff;%关闭图形保持目录3.图形窗口的分割subplot函数的调用格式为:subplot(m,n,p)目录---把一个画面分割成m*n个矩阵块区域,p代表当前的区域号,在每个区域中分别画一个图例4.7在一个图形窗口中以子图形式同时绘制正弦、余弦、正切、余切曲线。程序如下:x=linspace(0,2*pi,60);y=sin(x);z=cos(x);t=sin(x)./(cos(x)+eps);ct=cos(x)./(sin(x)+eps);subplot(2,2,1);plot(x,y);title('sin(x)');axis([0,2*pi,-1,1]);subplot(2,2,2);plot(x,z);title('cos(x)');axis([0,2*pi,-1,1]);subplot(2,2,3);plot(x,t);title('tangent(x)');axis([0,2*pi,-40,40]);subplot(2,2,4);plot(x,ct);title('cotangent(
本文标题:第4章 MATLAB绘图
链接地址:https://www.777doc.com/doc-4125808 .html