MATLAB m文件和函数

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

Matlab与系统仿真1MATLAB提供了强大的图形绘制功能,用户只需制定绘图方式,并提供充足的绘图数据,即可以得到所需的图形。五、绘图功能与技巧文献Matlab与系统仿真2(一)二维图形绘制(二)三维图形绘制(三)图形可视编辑工具主要内容Matlab与系统仿真3(1)简单二维图形绘制(2)特殊二维图形绘制(3)二维图形的修饰函数(4)图形窗口的控制与表现(5)二维图形绘制流程(总结)(一)二维图形绘制Matlab与系统仿真41.Plot(y)当y为一向量,以y的序号作为X轴,按向量y得值绘制曲线。(1)绘制简单的二维图形2.Plot(x,y)x,y均为向量,以x为X轴,y为Y轴绘制曲线(x,y等长)。3.Plot(x,y,’option’)曲线的属性(颜色、粗细。。。)由’option’确定。Matlab与系统仿真5’option’选项:线的类型、标记符号、颜色等。曲线线型曲线颜色标记符号选项意义选项意义选项意义选项意义选项意义'–''––'':''–.'实线虚线点线点划'b''g''m''w'蓝色绿色红紫白色'c''k''r''y'蓝绿黑色红色黄色'*''.''x''o'星号点号叉号圆圈'pentagram''square''diamond''hexagram'五角星正方块菱形块六角星线宽LineWidth例:plot(t,y2,'k--','LineWidth',5)Matlab与系统仿真6例1:t=0:0.1:pi;plot(t)Matlab与系统仿真7例2:绘制出一个周期内的正弦曲线*语句命令及绘图结果:t=0:0.1:2*pi;y=sin(t);plot(t,y)Matlab与系统仿真802468-1-0.500.51例3:02468-1-0.500.5102468-0.500.5plot(t,y2,':g')plot(t,y3,'xk')t=0:0.1:2*pi;y1=sin(t);y2=cos(t);y3=sin(t).*cos(t);plot(t,y1,'-')Matlab与系统仿真91.常用调用格式(2)绘制特殊二维图形函数名和常用调用格式意义comet(x,y)compass(x,y)feather(x,y)fill(x,y,c)hist(y,n)loglog(x,y)polar(x,y)quiver(x,y)stairs(x,y)stem(x,y)彗星状轨迹图罗盘图羽毛状图二维填充函数直方图对数图极坐标图磁力线图阶梯图形火柴杆图Matlab与系统仿真10例:t=-pi:0.3:pi;y=1./(1+exp(-t));plot(t,y);尝试:stem(t,y);polar(t,y);stairs(t,y);……Matlab与系统仿真11Matlab与系统仿真122.给定函数的曲线绘制Plot()函数可以容易地绘制显式表达式的函数,但隐函数曲线如何绘制?按常规:x=-sqrt(5):0.01:sqrt(5);y1=sqrt((5-x.^2)/3);y2=-sqrt((5-x.^2)/3);plot(x,y1,x,y2)如:x2+3y2=5Matlab与系统仿真13ezplot()函数ezplot('x^2+3*y^2-5')Matlab与系统仿真14MATLAB提供图形函数,专门用于对由plot命令所画图形进行修饰。(3)二维图形的修饰函数函数并非图形修饰唯一方法——菜单、右键快捷菜单、属性设置页也可以。Matlab与系统仿真151.坐标轴范围的设定:axis([Xmin,Xmax,Ymin,Ymax])2.加坐标轴名称:xlabel(‘string’),ylabel(‘string’)3.给图形加标题:title(‘string’)4.加图例标注:legend(‘string1’,’string2’,…)5.加网格:gridon,gridoff6.加普通标注:gtext(‘string’),在弹出的图形窗口中,选择地点,单击鼠标。Matlab与系统仿真16Matlab与系统仿真17例:原图t=0:0.1:2*pi;y1=sin(t);y2=cos(t);plot(t,y1,'r:',t,y2,'g*')Matlab与系统仿真181)将图形的x轴的大小范围限定在[0,2pi]之间,y轴的大小范围限定在[-2,2]之间;2)x、y坐标轴分别标注为“弧度值”、“函数值”;3)图形标题标注为“正弦曲线和余弦曲线”;4)添加图例标注,标注字符分别为“y1”、“y2”;5)给图形添加网格线;6)在两条曲线上分别标注文本“y1=sin(t)”、“y2=cos(t)”。要求:进一步修饰例2.16的图形,实现以下要求:Matlab与系统仿真19解:helplineline([起点横坐标,终点横坐标],[起点纵坐标,终点纵坐标]),例:line([1,2],[3,4])将画出(1,3)到(2,4)的一条直线,而不是(1,2)到(3,4)。Matlab与系统仿真20最后结果(注意gtext指令):要产生这个箭头,一.可以insetarrow二.可以通过函数实现,详见补充知识的文件夹,如下图请大家看同学备注Matlab与系统仿真211.创建或打开图形窗口(4)图形窗口的控制与表现在命令窗口运行绘图指令,自动创建(当前窗口,唯一);Figure命令,创建另一窗口(当前),保留原窗口;菜单建立新窗口;Clf命令,清除当前窗口所有内容Matlab与系统仿真222.图形重叠(同一坐标系中绘制多幅图形)(1)Plot命令会清屏,但可在一个plot命令中实现:Plot(x,y1,’option1’,x,y2,’option2’,…)x为公共X轴,分别以y1,y2为Y轴绘制多条曲线,每条曲线的属性由相应的’option’确定。Matlab与系统仿真23例:t=0:0.1:2*pi;y1=sin(t);y2=cos(t);y3=sin(t).*cos(t);plot(t,y1,'-',t,y2,':g',t,y3,'xk')Matlab与系统仿真24思考:但很多实验情况下,实际上是对同一个变量进行测量,并将数据进行绘图比较。Matlab与系统仿真25(2)holdon、holdoff指令012345678-1-0.8-0.6-0.4-0.200.20.40.60.81holdon:保留当前窗口图形;holdoff:解除holdon;例:t=0:0.1:2*pi;y1=sin(t);y2=cos(t);y3=sin(t).*cos(t);plot(t,y1,'-')holdonplot(t,y2,':g')plot(t,y3,'xk')line([0,8],[0,0])holdoffMatlab与系统仿真263.图形窗口分割利用subplot()函数将整个图形窗口分割成若干个子图形部分,然后在每个部分用不同函数绘制不同曲线。subplot(m,n,p):将当前窗口分割成m行、n列,并且当前在其中的第p个区域绘图。绘图区域编号原则:“从左到右,从上到下”。允许每个子窗口不同的坐标系。Matlab与系统仿真27subplot(3,2,2)t=0:0.1:2*pi;y1=sin(t);plot(t,y1,'-')subplot(3,2,4)t=-pi:0.1:pi;y2=sin(t);plot(t,y2,'xk')例:Matlab与系统仿真28MATLAB图形窗口控制函数(汇总)函数功能说明figurefigure(n)每调用一次就打开一个新的图形窗口创建或打开第n个图形窗口,使之成为当前窗口clf清除当前图形窗holdonholdoff保留当前窗口的图形不被后继图形覆盖,可实现在同一坐标系中多幅图形的重叠解除holdon命令,一般与holdon成对使用subplot(m,n,p)将当前绘图窗口分割成m行、n列,并在第p个区域绘图closecloseall关闭当前图形窗口关闭所有图形窗口Matlab与系统仿真29(5)二维图形绘制流程图输入图形显示的相关函数选择图形显示区域调用相关的绘图指令设置图形的属性图形的修饰保存打印输出Matlab与系统仿真30x=0:0.05:pi;y1=5*sin(2*x);y2=4*cos(4*x);subplot(3,1,1);plot(x,y1);axis([0pi-5.55.5]);gridon;xlabel('Time');ylabel('Amplitude');title('y=5sin(2x)');相关函数图形显示区域绘图指令、属性设置图形修饰举例:Matlab与系统仿真31subplot(3,1,2);plot(x,y2);axis([0pi-5.55.5]);gridon;xlabel('Time');ylabel('Amplitude');title('y=4cos(4x)');subplot(3,1,3);plot(x,y1,'-.or',x,y2,'-b+');xlabel('Time');ylabel('Amplitude');title('characteristiccurve');Matlab与系统仿真32例:可以用subplot()函数将整个图形窗口分割成若干个子图形部分,然后在每个部分用不同函数绘制不同曲线。t=-pi:0.3:pi;y=1./(1+exp(-t));subplot(221),plot(t,y);title('plot(t,y)')subplot(222),stem(t,y);title('stem(t,y)')subplot(223),polar(t,y);title('polar(t,y)')subplot(224),stairs(t,y);title('stairs(t,y)')Matlab与系统仿真33(二)三维图形绘制(1)三维曲线的基本绘图(2)三维网格曲面的绘制(3)图像显示与处理Matlab与系统仿真34调用格式Plot3(x1,y1,z1,‘option1’,x2,y2,z2,‘option2’,…)(1)三维曲线的基本绘图参数意义与二维绘图命令相似。以逐点连折线的方式绘制三维折线图,当各个数据点的间距较小时,绘制的即三维曲线。也可用各种特殊绘图函数。也可用各种图形修饰函数,但要求多考虑一个Z轴方向。Matlab与系统仿真35t=0:pi/50:8*pi;x=sin(t);y=cos(t);plot3(x,y,t);stem3(x,y,t)例:三维螺旋线绘制。Matlab与系统仿真36三维网格曲面图所构成的网格状表面由X-Y平面上的矩形栅格及相应的Z坐标构成,相邻点之间用直线连接。(2)三维网格曲面的绘制等高图密度图建筑立面。。。对于显示大型数据矩阵或双变量的函数是很有用。Matlab与系统仿真37即定义四边形各个顶点的三维坐标值;1.栅格数据点的产生一般先知道(x,y),再利用函数公式计算z的坐标;二维坐标(x,y)是种栅格形的数据点,由meshgrid命令产生。格式meshgrid(x,y):x,y是向量,表示坐标范围。Matlab与系统仿真38x=-2:0.1:2;y=x;[X,Y]=meshgrid(x,y);22xy)(x,fzyxe例Matlab与系统仿真392.绘制三维网格曲面函数调用格式说明[X,Y]=meshgrid(x,y)根据(x,y)二维坐标数据生成x-y网格点坐标数据其中:x,y是向量;X,Y是矩阵mesh(X,Y,Z)绘制三维网格曲面:通过直线连接相邻的点构成的三维曲面surf(X,Y,Z)绘制三维阴影曲面:通过小平面连接相邻的点构成的三维曲面Matlab与系统仿真40

1 / 70
下载文档,编辑使用

©2015-2020 m.111doc.com 三一刀客.

备案号:赣ICP备18015867号-1 客服联系 QQ:2149211541

×
保存成功