控制系统仿真第2章.ppt_第1页
控制系统仿真第2章.ppt_第2页
控制系统仿真第2章.ppt_第3页
控制系统仿真第2章.ppt_第4页
控制系统仿真第2章.ppt_第5页
已阅读5页,还剩99页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第2章 MATLAB基础及其使用初步 第2章 MATLAB基础及其使用初步 2.1 MATLAB简介 2.2 MATLAB编程 2.3 Simulink交互式仿真环境 第2章 MATLAB基础及其使用初步 2.2.4 MATLAB绘图WT 1基本的绘图命令 1)线性刻度绘图命令plot x轴和y轴均为线性刻度;绘图命令格式为 plot(x) %最简单的调用格式 plot(x,y) %常用的调用格式 plot(x1,y1,x2,y2) %含多个输入参数的调用格式 plot(x,y,option)或 plot(x1,y1,option1,x2,y2,option2,); %含选项的调用格式 其中选项参数option定义了图形曲线的颜色、线型及表示符 号,它由一对单引号括起来。 第2章 MATLAB基础及其使用初步 表2.1 线型、颜色及表示符号对照表 第2章 MATLAB基础及其使用初步 线型与颜色可以任意组合,从而生成不同颜色和不同形 状的曲线。举例: plot(t,x,c+:);就画出了用“+”标记的亮青色“点”线 ,而plot(t,x,c:)则只画出了亮青色的“点”线; plot(t,x,bd)则画出了蓝色的“金刚石”线。 第2章 MATLAB基础及其使用初步 exp2_34:在0X2区间内,绘制曲线y=2e- 0.5xsin(2x)。 程序如下: x=0:pi/100:2*pi; y=2*exp(-0.5*x).*sin(2*pi*x); plot(x,y) 第2章 MATLAB基础及其使用初步 exp2_35某工厂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) 第2章 MATLAB基础及其使用初步 第2章 MATLAB基础及其使用初步 图24 衰减振荡曲线与包络 第2章 MATLAB基础及其使用初步 ex2-1在同一坐标内绘制曲线 y=2e-0.5xsin(2x)及其包络线。 % ex2_1 x=(0:pi/100:2*pi); y1=2*exp(-0.5*x); %包络线 y2=2*exp(-0.5*x).*sin(2*pi*x); %函数 plot(x,y1,g:, x,-y1,g:, x,y2,b); grid on 第2章 MATLAB基础及其使用初步 【书例2.2】用图形表示离散函数。 % ex2_2 clear all; n=0:12;%产生一组自变量数据 y=1./abs(n-6);%计算相应点的函数值 plot(n,y,r*,MarkerSize,20) %用红花标出数据点 grid on%画坐标方格 第2章 MATLAB基础及其使用初步 图25 离散函数的可视化 第2章 MATLAB基础及其使用初步 2)非线性刻度 Loglog(x,y,option):x轴和y轴均为对数刻度; Semilogx(x,y,option):x轴为对数刻度;y轴为线性刻 度; Semilogy(x,y,option):y轴为对数刻度;x轴为线性刻 度; 其他的定义与plot命令完全相同。 第2章 MATLAB基础及其使用初步 3)选择图形窗口、图形窗口分割 figure(n):设定不同的图形窗口,其中n为正整数,为 图形窗口编号; holdon holdoff; subplot(mnk):在同一窗口显示多个图形,其中m为上 下分割个数,n为左右分割个数,k为子图编号。 第2章 MATLAB基础及其使用初步 exp1-23建立一个图形窗口。该图形窗口没有菜单条,标题名称为 “图形窗口示例”,起始于屏幕左下角、宽度和高度分别为300 像素点和150像素点,背景颜色为绿色,且当用户从键盘按下任 意一个键时,将显示“Hello,Keyboard Key Pressed.”字样。 命令如下: hf=figure(Color,0,1,0,Position,1,1,300,150,. Name,图形窗口示例 ,NumberTitle,off,MenuBar,none,. KeyPressFcn,disp(Hello,Keyboard Key Pressed.); 第2章 MATLAB基础及其使用初步 exp1-23a建立一个图形窗口figure No3,有坐标轴。 % exp1-23a figure(3); hold on; subplot(234); %两行三列第四个图形 第2章 MATLAB基础及其使用初步 4)设定轴的范围 axisxmin xmax ymin ymax)。 5)文字显示 xlabel(字符串),ylabel(字符串):表明坐 标的名称等; title(字符串):图的标题(图名); text(x,y,字符串):在图上(x,y)处加注文字; legend(字符串1,字符串2,字符串n) :在屏幕上开启一个小视窗,然后依据绘图命令的先后次序 ,用对应的字符串区分图形上的线; gtext(字符串):文本交互输入命令。 第2章 MATLAB基础及其使用初步 6)网格显示 gridon:显示网格; gridoff:去掉网格。 第2章 MATLAB基础及其使用初步 exp2_12 F=figure(pos,50,100,200,150,color,w); A=axes(pos,0.5,0.5,0.4,0.4); t=0:1:6; plot(t,sin(t) xlabel(我是X轴);ylabel (我是Y轴);title (我是标题) 第2章 MATLAB基础及其使用初步 综合例题 第2章 MATLAB基础及其使用初步 图 2-6 连续函数的图形表现方法 第2章 MATLAB基础及其使用初步 2其他绘图命令 bar(x,y):绘制长条图; hist(x,y):绘制直方图; stairs(x,y):绘制阶梯图; stem(x,y):绘制火柴棍图(离散信号常用命令) ; pie(x):绘制饼图; ezplot:符号方法所用绘图命令。 第2章 MATLAB基础及其使用初步 课本其他例题 第2章 MATLAB基础及其使用初步 第2章 MATLAB基础及其使用初步 第2章 MATLAB基础及其使用初步 图27 二阶阶跃响应图 第2章 MATLAB基础及其使用初步 【例2.5】 利用hold绘制离散信号通过零阶保持器后 产生的波形。 t=2*pi*(0:20)/20;y=cos(t).*exp(-0.4*t); stem(t,y,g);holdon;stairs(t,y,r);holdoff 。 运行后得到如图28所示曲线。 第2章 MATLAB基础及其使用初步 图28 离散信号的重构 第2章 MATLAB基础及其使用初步 第2章 MATLAB基础及其使用初步 图29 函数和积分 第2章 MATLAB基础及其使用初步 【例2.7】受热压力容器的期望温度是120,期望压力 是0.25Mpa。在同一张图上画出它们的阶跃响应曲线。 S1=tf(11,1321); %温度的传递函数对象模型 S2=tf(1,111); %压力的传递函数对象模型 Y1,T1=step(S1); %计算阶跃响应 Y2,T2=step(S2); %计算阶跃响应 plotyy(T1,120*Y1,T2,0.25*Y2,stairs,plot) 运行后得到如图210所示曲线。 第2章 MATLAB基础及其使用初步 图210 双纵坐标图演示 第2章 MATLAB基础及其使用初步 【例2.8】compass和feather指令的区别。 t=-pi/2:pi/12:pi/2; %在-90,90区间,每15取一点 r=ones(size(t); %单位半径 x,y=pol2cart(t,r); %极坐标转化为直角坐标 subplot(1,2,1),compass(x,y),title(Compass); subplot(1,2,2),feather(x,y),title(Feather)。 运行后得到如图211所示曲线。 第2章 MATLAB基础及其使用初步 图 211 compass和feather指令的区别 第2章 MATLAB基础及其使用初步 【例2.9】 本例表现一个离散方波的快速Fourier变换的 幅频。本例左图用极坐标指令polar绘出,右图用三维离散 杆图指令stem3 绘出。 MATLAB的polar指令是建筑在plot基础上的。指令执行 后,出现的极坐标轴及分度标识也是由plot以一种“固定”模 式产生的。因此,极坐标轴的控制很不灵活,它只能以比较 简单的方式表达函数。如对于本例左图,那图形小、线条细 、文字太密的缺陷,就较难克服。相比而言,先借助极坐标 和直角坐标转换,然后再通过直角坐标图形指令加以表现, 往往更显灵活、方便。如本例的右图。 第2章 MATLAB基础及其使用初步 th = (0:127)/128*2*pi;%角度采样点 rho=ones(size(th);%单位半径 x = cos(th);y = sin(th); f = abs(fft(ones(10,1),128);%对离散方波进行FFT 变换,并取幅值。 rho=ones(size(th)+f;%取单位圆为绘制幅频谱的基准。 subplot(1,2,1),polar(th,rho,r) subplot(1,2,2),stem3(x,y,f,d,fill)%取菱形离散 杆头,并填色。 view(-65 30)%控制角度,为表现效果。 第2章 MATLAB基础及其使用初步 图 2-12 离散方波的幅频谱 第2章 MATLAB基础及其使用初步 SIMULINK 在工程实际中,控制系统的结构往往很复杂,如果不借助专用 的系统建模软件,则很难准确地把一个控制系统的复杂模型输 入计算机,对其进行进一步的分析与仿真。 1990年,Math Works软件公司为MATLAB提供了新的控制系 统模型图输入与仿真工具SIMULINK ,该工具很快就在控制工 程界获得了广泛的认可,使得仿真软件进入了模型化图形组态 阶段。 SIMULINK的出现,给控制系统分析与设计带来了福音。顾名 思义,该软件的名称表明了该系统的两个主要功能:Simu(仿 真)和Link(连接),即该软件可以利用鼠标在模型窗口上绘制 出所需要的控制系统模型,然后利用SIMULINK提供的功能来对 系统进行仿真和分析。 第2章 MATLAB基础及其使用初步 2.3 Simulink交互式仿真环境 2.3.1 Simulink简介 Simulink是一个进行动态系统建模、仿真和综合分析的 集成软件包。它可以处理的系统包括:线性、非线性系统; 离散、连续及混合系统;单任务、多任务离散事件系统。 在Simulink提供的图形用户界面GUI上,只要进行鼠标 的简单拖拉操作就可构造出复杂的仿真模型。它外表以方块 图形式呈现,且采用分层结构。从建模角度讲,这既适用于 自上而下(Topdown)的设计流程(概念、功能、系统、 子系统直至器件),又适用于自下而上(Bottomup)的逆 程设计。从分析研究角度讲,这种Simulink模型不仅能让用 户知道具体环节的动态细节,而且能让用户清晰地了解各器 件、各子系统、各系统间的信息交换,掌握各部分之间的交 互影响。 第2章 MATLAB基础及其使用初步 在Simulink环境中,用户将摆脱理论演绎时需做理想化 假设的无奈,观察到现实世界中摩擦、风阻、齿隙、饱和、 死区等非线性因素和各种随机因素对系统行为的影响。在 Simulink环境中,用户可以在仿真进程中改变感兴趣的参数 ,实时地观察系统行为的变化。由于Simulink环境使用户摆 脱了深奥数学推演的压力和繁琐编程的困扰,因此用户在此 环境中会产生浓厚的探索兴趣,引发活跃的思维,感悟出新 的真谛。 在MATLAB5.3版中,可直接在Simulink环境中运作的 工具包很多,已覆盖通信、控制、信号处理、DSP、电力系 统等诸多领域,所涉及内容专业性极强。 第2章 MATLAB基础及其使用初步 2.3.2 Simulink仿真基础 1什么是Simulink Simulink是MATLAB软件的扩展,它是实现动态系统建模 和仿真的一个软件包,它与MATLAB语言的主要区别在于,其 与用户交互接口是基于Windows的模型化图形输入,其结果 是使得用户可以把更多的精力投入到系统模型的构建,而非 语言的编程上。 所谓模型化图形输入是指Simulink提供了一些按功能分 类的基本的系统模块,用户只需要知道这些模块的输入、输 出及模块的功能,而不必考察模块内部是如何实现的,通过 对这些基本模块的调用,再将它们连接起来就可以构成所需 要的系统模型(以.mdl文件进行存取),进而进行仿真与分 析。 第2章 MATLAB基础及其使用初步 2Simulink的启动 (1)在MATLAB命令窗口中输入Simulink。 结果是在桌面上出现一个称为SimulinkLibraryBrowser 的窗口,在这个窗口中列出了按功能分类的各种模块的名称 。 (2)在MATLAB主窗口用快捷按钮打开 SimulinkLibraryBrowser窗口。 第2章 MATLAB基础及其使用初步 3Simulink的模块库介绍 Simulink模块库按功能进行分类,包括以下8类子库 Linear(线性模块); Discrete(离散模块); Connections(连接模块); Demos(演示模块); Nonlinear(非线性模块); Blocksets a=1:4; x=-2:0.01:2; x=-2:0.01:2; y=-25:0.01:25; y=-25:0.01:25; y1=sqrt(1-x.*x/a.*2).*(25-a.*a); y1=sqrt(1-x.*x/a.*2).*(25-a.*a); y2=-sqrt(1-x.*x/a.*2).*(25-a.*a); y2=-sqrt(1-x.*x/a.*2).*(25-a.*a); plot(x,y1);hold on plot(x,y1);hold on plot(x,y2); plot(x,y2); endend 第2章 MATLAB基础及其使用初步 94 theta=0:0.1:2*pi;theta=0:0.1:2*pi; a=input(a=),a=input(a=), x=cos(theta)x=cos(theta) y=(25-a2).*sin(theta)y=(25-a2).*sin(theta) plot(x,y)plot(x,y) 第2章 MATLAB基础及其使用初步 95 a=4;a=4; t=0:0.001:2.*pi;t=0:0.001:2.*pi; x=a.*cos(t);x=a.*cos(t); y=sqrt(25-a2).*sin(t);y=sqrt(25-a2).*sin(t); plot(x,y,c)plot(x,y,c) holdhold a=4.5;a=4.5; t=0:0.001:2.*pi;t=0:0.001:2.*pi; x=a.*cos(t);x=a.*cos(t); y=sqrt(25-a2).*sin(t);y=sqrt(25-a2).*sin(t); plot(x,y,r)plot(x,y,r) 第2章 MATLAB基础及其使用初步 96 第2章 MATLAB基础及其使用初步 97 第2章 MATLAB基础及其使用初步 98 5. 5. 用曲面图命令用曲面图命令surfsurf表现函数表现函数 并用火柴杆命令并用火柴杆命令stem3stem3表示网格线上的表示网格线上的 函数值。函数值。 x=-5:0.1:5; x,y=meshgrid(x); z=x.*x+y.*y; surf(x,y,z); xlabel(x-axis),ylabel(y-axis),zlabel(

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论