1、机械工业出版社机械工业出版社CHINA MACHINE PRESSCHINA MACHINE PRESS控制系统MATLAB仿真与应用机械工业出版社机械工业出版社CHINA MACHINE PRESSCHINA MACHINE PRESS讲课内容讲课内容第第 1 1 章章 概述概述第第 2 2 章章 MATLAB MATLAB 程序设计基础程序设计基础第第 3 3 章章 MATLAB MATLAB 图形设计图形设计第第 4 4 章章 控制系统数学模型及其控制系统数学模型及其MATLABMATLAB描述描述第第 5 5 章章 控制系统计算机辅助分析控制系统计算机辅助分析第第 6 6 章章 控制系
2、统计算机辅助设计控制系统计算机辅助设计第第 7 7 章章 控制系统控制系统SimulinkSimulink仿真仿真第第 8 8 章章 控制系统控制系统MATLABMATLAB仿真实例仿真实例机械工业出版社机械工业出版社CHINA MACHINE PRESSCHINA MACHINE PRESS第第3 3章章 MATLABMATLAB图形设计图形设计3.1 3.1 二维图形二维图形3.2 3.2 三维图形三维图形3.3 3.3 图形界面图形界面机械工业出版社机械工业出版社CHINA MACHINE PRESSCHINA MACHINE PRESS3.1 二维图形二维图形3.1.1 3.1.1 基
3、本二维图形基本二维图形1.1.图形窗口工具栏简介图形窗口工具栏简介如图所示,点击PLOTS标签页,并点击右侧三角按钮,可以查看MATLAB能绘制的所有图形类型,如果要详细了解每一种类型的图形,可以单击Catalog按钮,系统则会弹出Plot Catalog对话框。单击相应的类型,就可查看相应的用法。机械工业出版社机械工业出版社CHINA MACHINE PRESSCHINA MACHINE PRESS3.1 二维图形二维图形3.1.1 3.1.1 基本二维图形基本二维图形2.2.图形绘制的图形绘制的基本步骤基本步骤(1)数据准备。(2)选定图形窗口及子图位置。(3)调用绘图函数绘制图形,例如p
4、lot函数。(4)设置坐标轴的范围、刻度及坐标网格。(5)利用对象属性值或者图形窗口工具栏设置线型、标记类型及其大小等。(6)添加图形注释,例如图名、坐标名称、图例、文字说明等(7)图形的导出与打印。3.3.参数参数参数选项为一个字符串。它决定了二维图形的颜色、线型及数据点的图标。机械工业出版社机械工业出版社CHINA MACHINE PRESSCHINA MACHINE PRESS3.1 二维图形二维图形3.1.1 3.1.1 基本二维图形基本二维图形机械工业出版社机械工业出版社CHINA MACHINE PRESSCHINA MACHINE PRESS3.1 二维图形二维图形3.1.1 3
5、.1.1 基本二维图形基本二维图形【例3-1】plot指令使用示例1。利用M文件编辑器,创建名为cosfig.m的M文件,并写入:x=-10:10;y=x.2;figure(1)subplot(1,3,1);subplot(1,3,2);xlim(1 length(y)z=cos(-pi:pi/10:pi)+sqrt(-1)*sin(-pi:pi/10:pi);subplot(1,3,3);运行m文件得下图。机械工业出版社机械工业出版社CHINA MACHINE PRESSCHINA MACHINE PRESS3.1 二维图形二维图形3.1.1 3.1.1 基本二维图形基本二维图形4.plot
6、4.plot指令指令(4)使用说明:绘制矩阵A的列对它下标的图形。(5)使用说明:绘制矩阵A对向量x的图形。(6)使用说明:对矩阵A绘制向量x的图形。(7)使用说明:绘制矩阵B对矩阵A的图形。机械工业出版社机械工业出版社CHINA MACHINE PRESSCHINA MACHINE PRESS3.1 二维图形二维图形3.1.1 3.1.1 基本二维图形基本二维图形【例3-2】利用M文件编辑器,创建名为magicfig.m的M文件,并写入:A=magic(20);A(9:20,:)=;figure;运行M文件,结果如图所示。机械工业出版社机械工业出版社CHINA MACHINE PRESSCH
7、INA MACHINE PRESS3.1 二维图形二维图形3.1.1 3.1.1 基本二维图形基本二维图形【例3-3】利用M文件编辑器,创建名为figgrid.m的M文件,并写入:for i=1:5 for j=1:6 A(i,j)=i+j;endendx=0.2:0.2:1;figure(1)subplot(2,2,1);subplot(2,2,2);B=reshape(1:30,5,6);subplot(2,2,3);subplot(2,2,4);运行M文件,结果如图所示。机械工业出版社机械工业出版社CHINA MACHINE PRESSCHINA MACHINE PRESS3.1 二维图
8、形二维图形3.1.1 3.1.1 基本二维图形基本二维图形4.plot4.plot指令指令(8)使用说明:用字符串str指定颜色或线型,绘制y对x的图形。(9)使用说明:用字符串str1指定颜色或线型绘制y1对x1的图形,用字符串str2指定颜色或线型绘制y2对x2的图形每组参数值可以采用上述除复数值以外的任何一种形式。机械工业出版社机械工业出版社CHINA MACHINE PRESSCHINA MACHINE PRESS3.1 二维图形二维图形3.1.1 3.1.1 基本二维图形基本二维图形【例3-4】plot指令使用示例4。利用M文件编辑器,创建名为cosfigure.m的M文件,并写入:
9、x=-pi:pi/10:pi;y=tan(sin(x)-sin(tan(x);机械工业出版社机械工业出版社CHINA MACHINE PRESSCHINA MACHINE PRESS3.1 二维图形二维图形3.1.1 3.1.1 基本二维图形基本二维图形【例3-5】plot指令使用示例5。输入参数为向量时,利用函数plot可绘制多条曲线。利用M文件编辑器,创建名为fig.m的M文件,并写入:clear allx=-pi:pi/10:pi;y=sin(x);sin(x+3);sin(x+5);z=cos(x);cos(x+3);cos(x+5);figure;plot(x,y,r:*,x,z,g
10、-.v);输出结果如图所示。机械工业出版社机械工业出版社CHINA MACHINE PRESSCHINA MACHINE PRESS3.1 二维图形二维图形3.1.2 3.1.2 图形格式与标注图形格式与标注曲线所表示出的函数或是数据,都需要进行一些文字的说明或标注。【例3-6】图窗内文字说明的使用示例。利用M文件编辑器,创建名为radicaxis.m的M文件,并写入:x=0:0.01*pi:pi*0.5;y=cos(x)+sqrt(-1)*sin(x);plot(y*2,r,LineWidth,5);hold on;x=pi*0.5:0.01*pi:pi;y=cos(x)+sqrt(-1)*
11、sin(x);plot(y*2,y,LineWidth,5);hold on;x=-pi:0.01*pi:-pi*0.5;y=cos(x)+sqrt(-1)*sin(x);plot(y*2,b,LineWidth,5);hold on;x=-pi*0.5:0.01*pi:0;y=cos(x)+sqrt(-1)*sin(x);plot(y*2,g,LineWidth,5);hold on;plot函数函数机械工业出版社机械工业出版社CHINA MACHINE PRESSCHINA MACHINE PRESS3.1 二维图形二维图形3.1.2 3.1.2 图形格式与标注图形格式与标注;xlim(-
12、5 5);ylim(-5 5);plot(-4 4,0 0,k,LineWidth,3);hold on;plot(0 0,-4 4,k,LineWidth,3);hold on;axis off;运行M文件,结果如图所示。机械工业出版社机械工业出版社CHINA MACHINE PRESSCHINA MACHINE PRESS3.1 二维图形二维图形3.1.2 3.1.2 图形格式与标注图形格式与标注1.1.坐标轴设置坐标轴设置MATLAB通过函数和内部自适应设置来显示图形。只对图形某一部分感兴趣时,需要通过坐标轴控制函数通过坐标轴控制函数,有针对性的调整和设置坐标轴的某些参数。机械工业出版社
13、机械工业出版社CHINA MACHINE PRESSCHINA MACHINE PRESS3.1 二维图形二维图形3.1.2 3.1.2 图形格式与标注图形格式与标注1.1.坐标轴设置坐标轴设置【例3-7】观察各种坐标轴指令的影响示例。利用M文件编辑器编写程序如下:t=0:2*pi/99:2*pi;x=1.15*cos(t);y=3.25*sin(t);%y为长轴,x为短轴subplot(2,3,1)%分割为2x3幅子图plot(x,y)%使用当前图形窗的默认设置绘制子图坐标grid on%坐标上画分格线title(Normal and Grid on)subplot(2,3,2),plot(
14、x,y)%纵横坐标分度相等grid on,title(Equal)subplot(2,3,3),plot(x,y)%纵横坐标的极限范围的几何大小相等grid on,title(Square)subplot(2,3,4),plot(x,y)%保持原图形比例不变,且坐标框紧贴图形机械工业出版社机械工业出版社CHINA MACHINE PRESSCHINA MACHINE PRESS3.1 二维图形二维图形3.1.2 3.1.2 图形格式与标注图形格式与标注1.1.坐标轴设置坐标轴设置%坐标框不封闭title(Image and Box off)subplot(2,3,5),plot(x,y)%图形
15、比例不变,使图形尽量地充满坐标范围box off,title(Image and Fill)subplot(2,3,6),plot(x,y)%保证坐标框与所画曲线的上下限一致box off,title(Tight)运行M文件,结果如图所示。机械工业出版社机械工业出版社CHINA MACHINE PRESSCHINA MACHINE PRESS3.1 二维图形二维图形3.1.2 3.1.2 图形格式与标注图形格式与标注2.2.图形窗口的保持与分割图形窗口的保持与分割【例3-8】图窗迭绘示例。利用M文件编辑器,创建名为holdfig.m的M文件,并写入:figurex=0:0.01*pi:pi*4
16、;y=0:pi:pi*8;subplot(1,2,1)plot(x,sin(x),r:,LineWidth,3);plot(x,2*sin(x/2),b,LineWidth,3);plot(y,sin(y),g,MarkerSize,10,LineWidth,3);plot(y,2*sin(y/2),mo,MarkerSize,10,LineWidth,3);xlim(0 pi*4);subplot(1,2,2)机械工业出版社机械工业出版社CHINA MACHINE PRESSCHINA MACHINE PRESS3.1 二维图形二维图形3.1.2 3.1.2 图形格式与标注图形格式与标注2.
17、2.图形窗口的保持与分割图形窗口的保持与分割plot(x,sin(x),r:,LineWidth,3);plot(x,2*sin(x/2),b,LineWidth,3);plot(y,sin(y),g,MarkerSize,10,LineWidth,3);plot(y,2*sin(y/2),mo,MarkerSize,10,LineWidth,3);xlim(0 pi*4);运行M文件,结果如图所示。:使当前轴及图形保留下来,而不被刷新,并接受即将绘制的新曲线。此外还有语句和语句。机械工业出版社机械工业出版社CHINA MACHINE PRESSCHINA MACHINE PRESS3.1 二
18、维图形二维图形机械工业出版社机械工业出版社CHINA MACHINE PRESSCHINA MACHINE PRESS3.1 二维图形二维图形3.1.2 3.1.2 图形格式与标注图形格式与标注2.2.图形窗口的保持与分割图形窗口的保持与分割xlim(-1 1);ylim(-1 1);plot(abs(sin(x/3).*(cos(x)+j*sin(x),LineWidth,3);xlim(-1 1);ylim(-1 1);plot(abs(sin(x/4).*(cos(x)+j*sin(x),LineWidth,3);xlim(-1 1);ylim(-1 1);运行M文件,结果如所示。机械工
19、业出版社机械工业出版社CHINA MACHINE PRESSCHINA MACHINE PRESS3.1 二维图形二维图形机械工业出版社机械工业出版社CHINA MACHINE PRESSCHINA MACHINE PRESS3.1 二维图形二维图形3.1.3 3.1.3 二维专用图形二维专用图形2.2.对数坐标绘制对数坐标绘制%绘制x,y都取以10为底的对数坐标图形;%绘制半对数坐标图形,其x轴取以10为 底的对数坐标,y轴为线性坐标;%同上,其y轴取以10为底的对数坐标,x 轴为线性坐标。3.3.饼图饼图%可以把指定的部分从圆形中抽取出来;%对每个分块添加标注。机械工业出版社机械工业出版社
20、CHINA MACHINE PRESSCHINA MACHINE PRESS3.1 二维图形二维图形3.1.3 3.1.3 二维专用图形二维专用图形【例3-11】利用loglog、semilogx和semilogy函数绘图。利用M文件编辑器编写程序如下:clear allsubplot(131);loglog(x1,exp(x1),-s);grid on;axis square;%设置图形窗口为正方形x2=0:0.1:10;subplot(132);grid on;axis square;%设置图形窗口为正方形subplot(133);grid on;axis square;%设置图形窗口为正
21、方形机械工业出版社机械工业出版社CHINA MACHINE PRESSCHINA MACHINE PRESS3.1 二维图形二维图形3.1.3 3.1.3 二维专用图形二维专用图形【例3-12】绘制二维饼图。利用M文件编辑器编写程序如下:clear allx=rand(1,5);y=0.2 0.45 0.1;subplot(121);title(输入数据总和大于1);axis square;subplot(122);title(输入数据总和小于1);axis square;运行结果如图所示。若输入数据总和超过超过1,pie函数会自动计算每一个数据在总体中所占的比例;而当输入数据总和小于小于1时
22、,pie函数只绘制输入数据指定的各部分,不足1的部分空缺处理。机械工业出版社机械工业出版社CHINA MACHINE PRESSCHINA MACHINE PRESS3.1 二维图形二维图形3.1.3 3.1.3 二维专用图形二维专用图形4.4.条形图条形图MATLAB中提供了bar函数和barh函数来绘制柱条形图,二者的区别为:绘制竖起条形图,绘制水平条形图。【例3-13】绘制二维条形图。利用M文件编辑器编写程序如下:clear allY=round(rand(5,3)*10);subplot(2,2,1);title(竖直条形图Group);subplot(2,2,2);机械工业出版社机械
23、工业出版社CHINA MACHINE PRESSCHINA MACHINE PRESS3.1 二维图形二维图形3.1.3 3.1.3 二维专用图形二维专用图形4.4.条形图条形图title(竖直条形图Stack);subplot(2,2,3);title(水平条形图Stack);subplot(2,2,4);title(水平条形图Width=1.5);机械工业出版社机械工业出版社CHINA MACHINE PRESSCHINA MACHINE PRESS3.2 三维图形三维图形机械工业出版社机械工业出版社CHINA MACHINE PRESSCHINA MACHINE PRESS3.2 三维图
24、形三维图形3.2.1 3.2.1 基本三维曲线图形基本三维曲线图形利用M文件编辑器编写程序如下:t=0:pi/50:2*pi;x=8*cos(t);y=4*sqrt(2)*sin(t);z=-4*sqrt(2)*sin(t);title(Line in 3-D space);text(0,0,0,origin);xlabel(X),ylabel(Y),zlabel(Z);grid;机械工业出版社机械工业出版社CHINA MACHINE PRESSCHINA MACHINE PRESS3.2 三维图形三维图形3.2.2 3.2.2 基本三维曲面图形基本三维曲面图形用于绘制三维网格图。在不需要绘制
25、特别精细的三维曲面图时,可以通过三维网格图来表示三维曲面。用于绘制三维曲面图,各线条之间的补面用颜色填充。【例3-15】用三维曲面图表现函数。方法一:用mesh函数画三维曲面图。如在M文件编辑器中编入程序:x=0:0.1:2*pi;x,y=meshgrid(x);z=sin(y).*cos(x);xlabel(x-axis),ylabel(y-axis),zlabel(z-axis);title(mesh);方法二:用surf函数画三维曲面图。如在M文件编辑器中编入程序:x=0:0.1:2*pi;x,y=meshgrid(x);z=sin(y).*cos(x);xlabel(x-axis),y
26、label(y-axis),zlabel(z-axis);title(surf);机械工业出版社机械工业出版社CHINA MACHINE PRESSCHINA MACHINE PRESS3.2 三维图形三维图形3.2.2 3.2.2 基本三维曲面图形基本三维曲面图形结果如下:三维网格图 三维曲面图机械工业出版社机械工业出版社CHINA MACHINE PRESSCHINA MACHINE PRESS3.2 三维图形三维图形3.2.3 3.2.3 三维专用图形三维专用图形contourcontour函数函数三维数据的平面显示。X,Y,Z=peaks(30);%三维等值线输出xlabel(X-ax
27、is),ylabel(Y-axis)title(CONTOUR of PEAKS)机械工业出版社机械工业出版社CHINA MACHINE PRESSCHINA MACHINE PRESS3.2 三维图形三维图形3.2.3 3.2.3 三维专用图形三维专用图形pcolor函数函数pcolor函数是surf的二维等效函数,代表伪彩色。如在M文件编辑器中编入程序:X,Y,Z=peaks(30);xlabel(X-axis),ylabel(Y-axis)title(PCOLOR of PEAKS)机械工业出版社机械工业出版社CHINA MACHINE PRESSCHINA MACHINE PRESS3
28、.2 三维图形三维图形3.2.3 3.2.3 三维专用图形三维专用图形shading函数函数在M文件编辑器中编入程序:z=peaks(20);colormap(copper);subplot(1,3,1);surf(z);subplot(1,3,2);surf(z);subplot(1,3,3);surf(z);运行结果如图所示。shading flat命令将每个网格片用同一个颜色进行着色,且网格线也用相应的颜色着色,这样使得图形表面更加光滑。shading interp命令在网格片内采用颜色差值处理,得到的图形表面更加光滑。机械工业出版社机械工业出版社CHINA MACHINE PRESSC
29、HINA MACHINE PRESS3.2 三维图形三维图形3.2.3 3.2.3 三维专用图形三维专用图形waterfall函数函数在M文件编辑器中编入程序:X,Y,Z=peaks(30);xlabel(X-axis),ylabel(Y-axis)运行结果如图所示。机械工业出版社机械工业出版社CHINA MACHINE PRESSCHINA MACHINE PRESS3.2 三维图形三维图形3.2.3 3.2.3 三维专用图形三维专用图形quiver函数函数函数quiver可实现在等值线图上画方向或速度箭头。如在M文件编辑器中编入程序:X,Y,Z=peaks(16);DX,DY=gradie
30、nt(Z,.5,.5);contour(X,Y,Z,10);hold onhold off运行结果如图所示。机械工业出版社机械工业出版社CHINA MACHINE PRESSCHINA MACHINE PRESS3.2 三维图形三维图形3.2.3 3.2.3 三维专用图形三维专用图形fill3函数函数函数fill3可在三维空间内画出填充过的多边形。其M文件程序如下:X,Y,Z=peaks(16);DX,DY=gradient(Z,.5,.5);contour(X,Y,Z,10);hold onquiver(X,Y,DX,DY)hold off运行结果如图所示。机械工业出版社机械工业出版社CHI
31、NA MACHINE PRESSCHINA MACHINE PRESS3.2 三维图形三维图形3.2.3 3.2.3 三维专用图形三维专用图形clabel函数函数函数clabel给等值线图标上高度值。如在M文件编辑器中编入程序:X,Y,Z=peaks(30);cs=contour(X,Y,Z,8);xlabel(X-axis),ylabel(Y-axis)title(CONTOUR of PEAKS with LABELS)运行结果如图所示。机械工业出版社机械工业出版社CHINA MACHINE PRESSCHINA MACHINE PRESS3.3 图形界面图形界面3.3.1 3.3.1 图
32、形窗口编辑图形窗口编辑1.1.图形窗口界面图形窗口界面2.2.菜单与工具栏菜单与工具栏3.3.窗口交互窗口交互运行matlab程序代码,得到图形界面窗口。代码如下:t=(2*pi*(0:1000)/1000);y1=sin(t);y2=sin(t).*sin(10*t);plot(t,-y1,r:);hold on;plot(t,y2,b-,t,y1,r:);axis(0,pi,-1,1,)机械工业出版社机械工业出版社CHINA MACHINE PRESSCHINA MACHINE PRESS3.3 图形界面图形界面3.3.1 3.3.1 图形窗口编辑图形窗口编辑1.1.图形窗口界面图形窗口界
33、面2.2.菜单与工具栏菜单与工具栏(1)Edit菜单选择(2)View菜单命令和Tool菜单命令(3)Insert菜单命令3.3.窗口交互窗口交互运行如下matlab程序代码,得到图形界面窗口。机械工业出版社机械工业出版社CHINA MACHINE PRESSCHINA MACHINE PRESS3.3 图形界面图形界面3.3.1 3.3.1 图形窗口编辑图形窗口编辑3.3.窗口交互窗口交互实现左图到右图的转换机械工业出版社机械工业出版社CHINA MACHINE PRESSCHINA MACHINE PRESS3.3 图形界面图形界面机械工业出版社机械工业出版社CHINA MACHINE P
34、RESSCHINA MACHINE PRESS3.3 图形界面图形界面3.3.1 3.3.1 图形窗口编辑图形窗口编辑(3)坐标轴属性设置对话框可以通过直接单击图中的X轴或Y轴,或者单击在选择下拉式菜单中的选项而获得。坐标轴属性设置对话框如图(c)所示。通过分别选择X,Y,Z轴可以设置坐标轴的线型属性设置坐标轴的线型属性。(c).(d).(4)编辑视点和光源。编辑视点和光源。单击图(c)对话框中的Inspector按钮,出现图(d)对话框,在其中可以进行视点和环境光源的设置。(5)单击图(c)中各个选项卡,可以调整字体大小与箭头调整字体大小与箭头,最终可得到所示的效果图。机械工业出版社机械工业
35、出版社CHINA MACHINE PRESSCHINA MACHINE PRESS3.3 图形界面图形界面3.3.2 3.3.2 图形窗口设计图形窗口设计1.1.图形对象图形对象机械工业出版社机械工业出版社CHINA MACHINE PRESSCHINA MACHINE PRESS3.3 图形界面图形界面3.3.2 3.3.2 图形窗口设计图形窗口设计2.2.图形窗口图形窗口图形窗口的生成图形窗口的生成handle=figure(属性名属性名,属性值设置属性值设置,)图形窗口的属性图形窗口的属性Color属性:设置图形窗口的背景颜色。MenuBar属性:图形窗口是否设置标准MATLAB菜单栏。
36、Name属性:设置图形窗口的名称。Position属性:确定图形窗口的位置。Visible属性:设置图形窗口的可见性。取值有on(可见)和off(不可见)。图形窗口的关闭图形窗口的关闭Close命令可用来关闭图形窗口。机械工业出版社机械工业出版社CHINA MACHINE PRESSCHINA MACHINE PRESS3.3 图形界面图形界面3.3.2 3.3.2 图形窗口设计图形窗口设计3.3.菜单与工具栏菜单与工具栏简单菜单的生成简单菜单的生成choice=menu(标题字符串,菜单项目标题字符串,菜单项目1,菜单项目,菜单项目2 )下拉菜单的生成下拉菜单的生成mainmenu=uime
37、nu(窗口句柄,窗口句柄,属性名属性名,属性值设置,属性值设置,)设置的属性值可生成图形窗口主菜单。itemhandle=uimenu(mainmenu,,属性名属性名,属性值设置,属性值设置,)设置的属性值可以生成主菜单某项目的下拉菜单。submenu=uimenu(itemhandle,,属性名属性名,属性值设置,属性值设置,)设置的属性值可以创建子菜单。机械工业出版社机械工业出版社CHINA MACHINE PRESSCHINA MACHINE PRESS3.3 图形界面图形界面机械工业出版社机械工业出版社CHINA MACHINE PRESSCHINA MACHINE PRESS3.3 图形界面图形界面3.3.2 3.3.2 图形窗口设计图形窗口设计6.6.图形用户界面(图形用户界面(GUIGUI)的应用)的应用在matlab命令窗口中键入guide命令,可得到如左图所示的图形界面管理控制面板。选择所要储存的路径后,点击确认,可得到如右图所示的设计窗口。在设计窗口左侧的工具栏中,提供了各种各样的控件,可以选中所需控件,将其拖至雏形窗口,实现用户界面的设计。