控制系统Matlab计算与仿真.ppt

上传人:豆**** 文档编号:60161796 上传时间:2022-11-14 格式:PPT 页数:72 大小:1.49MB
返回 下载 相关 举报
控制系统Matlab计算与仿真.ppt_第1页
第1页 / 共72页
控制系统Matlab计算与仿真.ppt_第2页
第2页 / 共72页
点击查看更多>>
资源描述

《控制系统Matlab计算与仿真.ppt》由会员分享,可在线阅读,更多相关《控制系统Matlab计算与仿真.ppt(72页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。

1、控制系统Matlab计算与仿真 Still waters run deep.流静水深流静水深,人静心深人静心深 Where there is life,there is hope。有生命必有希望。有生命必有希望目录一、Matlab简介二、控制系统Matlab仿真基础三、Simulink仿真基础23一、Matlab简介1.Matlab简介o1980年前后,美国moler博士构思并开发;o最初的Matlab版本是用fortran语言编写,现在的版本用c语言改写;o1992年推出了具有划时代意义的Matlab4.0版本;并于1993年推出了其windows平台下的微机版,现在比较新的版本是r2012

2、a版4一、Matlab简介2.Matlab语言特点oMatlab以复数矩阵为最基本的运算单元,既可以对它整体地进行处理,也可以对它的某个或某些元素进行单独地处理。在Matlab中,数据的存储/输入/输出都是以矩阵为基础的,矩阵和其它变量不需要预先定义。oMatlab语言最基本的赋值语句结构为变量名列表=表达式变量名为Matlab语句的返回值;等号右边是表达式的定义,它可以是矩阵,也可是函数调用。5一、Matlab简介2.Matlab语言特点oMatlab下提供了两种文件格式:M文件,Matlab函数M文件是普通的ascii码构成的文件,只有由Matlab语言所支持的语句,用户只需在Matlab

3、的提示符下键入该M文件的文件名,Matlab就会自动执行该M文件中的各条语句。它采用文本方式,编程效率高,可读性很强。Matlab函数是最常用的特殊m文件,该函数是由function语句引导,其基本格式如下:Function返回变量列表=函数名(输入量列表)6二、控制系统Matlab仿真基础1.控制系统数学模型要分析系统,首先需要能够描述这个系统要分析系统,首先需要能够描述这个系统。在线性系统理论中,一般常用的数学模型形式有:传递函数模型(系统的外部模型);状态方程模型(系统的内部模型);零极点增益模型;动态结构图(Simulink中使用)。这些模型之间都有着内在的联系,实际应用中,根据要解决

4、问题的需要,往往要进行不同种类模型之间的转换,Matlab控制系统工具箱中为此提供了相应的命令函数。7二、控制系统Matlab仿真基础1.控制系统数学模型(1)传递函数模型Matlab中用函数命令tf()来建立控制系统的传递函数模型。函数命令的调用格式为:sys=tf(num,den)函数返回的变量为连续系统的传递函数模型,函数输入参量num与den分别为系统的分子与分母多项式系数向量。sys=tf(num,den,Ts)函数返回的变量为离散系统的传递函数模型,函数输入参量num与den分别为系统的分子与分母多项式系数向量,Ts为采样时间。Matlab中还用函数printsys()来输出系统模

5、型。8二、控制系统Matlab仿真基础1.控制系统在Matlab中的描述(2)零极点增益模型Matlab中用函数命令zpk()来建立控制系统的零极点增益模型。函数命令的调用格式为:sys=zpk(z,p,k)其中的z、p、k分别代表系统零点、极点、增益向量,函数返回连续系统零极点模型。sys=zpk(z,p,k,Ts)其中的z、p、k分别代表系统零点、极点、增益向量,Ts为采样时间,函数返回离散系统零极点模型。9二、控制系统Matlab仿真基础1.控制系统在Matlab中的描述表1模型转换函数名函数名函数功能函数功能tf2zp将传递函数模型转换为零极点增益模型zp2tf将零极点增益模型转换为传

6、递函数模型二、控制系统Matlab仿真基础例例1 用Matlab表示传递函数为的系统。解:num=23;den=4321;sys=tf(num,den)执行结果:Transferfunction:2s+3-4s3+3s2+2s+110二、控制系统Matlab仿真基础例例2用Matlab表示传递函数为的系统。解:z=-3;p=0-1-2;k=2;sys=zpk(z,p,k)执行结果:Zero/pole/gain:2(s+3)-s(s+1)(s+2)11二、控制系统Matlab仿真基础例例3已知某控制系统的传递函数为,求Matlab描述的传递函数模型及零极点增益模型。解:num=001;den=1

7、32;sys1=tf(num,den)zpk=tf2zp(num,den);sys2=zpk(z,p,k)执行结果:Zero/pole/gain:1-(s+2)(s+1)Transferfunction:1-s2+3s+212二、控制系统Matlab仿真基础在Matlab中描述系统的模型形式不仅仅拘泥于数学表达式,还有应用在Simulink仿真环境中的动态方框图形式。只要按照一定的规则画出系统模型图,然后用实际系统的数据进行设置,就可以对其实现仿真。模型化简模型化简包括:环节串联化简;环节并联化简;反馈环节化简。(3)方框图模型化简1.控制系统在Matlab中的描述13二、控制系统Matlab

8、仿真基础环节串联化简多个环节相串联的连接形式是控制系统最基本的组成结构形式之一。在Matlab中用函数命令series()来实现串联化简。其调用格式为:sys=series(sys1,sys2)说明说明:也可简单地通过命令sys=sys1sys2实现。141.控制系统在Matlab中的描述(3)方框图模型化简二、控制系统Matlab仿真基础环节并联化简多个环节相并联的连接形式也是控制系统最基本的组成结构形式之一。Matlab中用函数命令parallel()来实现并联化简。其调用格式为:sys=parallel(sys1,sys2)说明说明:也可以简单地通过命令sys=sys1+sys2实现。1

9、51.控制系统在Matlab中的描述(3)方框图模型化简二、控制系统Matlab仿真基础反馈环节化简反馈连接结构是控制系统动态方框图动中常见连接形式。Matlab中用函数命令feedback()来实现反馈化简。其调用格式为:sys=feedback(sys1,sys2,sign)其中sign缺省值为-1,表示负反馈;若为正反馈,则sign=1。161.控制系统在Matlab中的描述(3)方框图模型化简二、控制系统Matlab仿真基础(1)时域响应仿真时域响应Matlab仿真的方法有两种:在Matlab的函数指令方式下进行时域仿真;在Simulink环境下的菜单方式的时域仿真。命令方式下的时域仿

10、真命令方式下的时域仿真控制系统工具箱中提供了一系列关于时域响应求取的函数命令。阶跃响应:step(sys)step(sys,t)dstep(a,b,c,d)dstep(num,den)脉冲响应:impulse(sys)impulse(sys,t)dimpulse(a,b,c,d)dimpulse(num,den)172.系统时域分析例例4 用Matlab绘制典型二阶系统的单位阶跃响应曲线。解:取,分别取程序实现如下:c=037102040;k=25;t=linspace(0,10,100);num=k;fori=1:6den=1c(i)25;sys=tf(num,den);y(:,i)=ste

11、p(sys,t);endplot(t,y(:,1:6)二、控制系统Matlab仿真基础18%181919二、控制系统Matlab仿真基础(1)时域响应仿真时域响应Matlab仿真的方法有两种:在Matlab的函数指令方式下进行时域仿真;在Simulink环境下的菜单方式的时域仿真。命令方式下的时域仿真命令方式下的时域仿真控制系统工具箱中提供了一系列关于时域响应求取的函数命令。Simulink环境下的仿真环境下的仿真此种方式的响应仿真将在第三部分作详细介绍。202.系统时域分析20二、控制系统Matlab仿真基础(2)系统稳定性分析线性定常系统稳定性的数学定义是控制系统闭环特征方程的全部根,不论

12、是实根或复根,其实部均应为负值,则闭环系统就是稳定的。由此可知,求解控制系统闭环特征方程的根并进而判断所有根的实部是否小于零,这是控制系统判稳的最基本方法,同时也是Matlab中提供和使用的思路。Matlab中提供命令函数roots()实现,其调用格式为:roots(P)其中,P是系统闭环特征多项式降幂排列的系数向量。212.系统时域分析21二、控制系统Matlab仿真基础例例5已知单位负反馈系统的开环传递函数为试判断系统的闭环稳定性。解:k=1;z=-2;p=0,-1,-3;num,den=zp2tf(z,p,k);D=num+den;roots(D)执行结果:ans=-2.8393-0.5

13、804+0.6063i-0.5804-0.6063i从结果看,特征根均为负实部根,因而该系统闭环稳定。2222二、控制系统Matlab仿真基础例例6已知单位负反馈系统的闭环传递函数为试判断系统的稳定性。解:den=1-1.30.71.20.2;num=21-1;sys=tf(num,den)roots(sys.den1)执行结果:ans=1.0000+1.0000i1.0000-1.0000i-0.5000-0.200023从结果看,特征根中有正实部根,因而该系统不稳定。23二、控制系统Matlab仿真基础(3)系统稳态误差分析稳态误差是系统控制准确度的评价指标,实际计算是基于响应曲线的稳态值

14、与期望值之差。控制理论的研究中典型的外作用有单位阶跃信号、单位速度(斜坡)信号、单位加速度信号,Matlab中,通过step()函数,其稳态误差为阶跃响应曲线的稳态值与期望值(1)之差。242.系统时域分析24二、控制系统Matlab仿真基础例例7已知一单位负反馈系统的开环传递函数为G(s)=试求单位阶跃信号作为参考输入时产生的稳态误差。解:(a)判断系统稳定性k=5;z=-0.2;p=00.5-1.5;num,den=zp2tf(z,p,k);sys=tf(num,den);sys1=feedback(sys,1);roots(sys1.den1)执行结果:ans=-0.3770+1.980

15、5i-0.3770-1.9805i-0.24602525二、控制系统Matlab仿真基础例例7已知一单位负反馈系统的开环传递函数为G(s)=试求单位阶跃信号作为参考输入时产生的稳态误差。解:(b)单位阶跃输入产生的稳态误差step(sys1);t=0:0.1:300;y=step(sys1,t);ess=1-y;ess(length(ess)执行结果:ans=1.4433e-01526从结果来看,1.4433e-015近似为零,说明一型系统承受阶跃信号时的稳态误差为零。26二、控制系统Matlab仿真基础频域分析法是控制系统研究中应用频率特性来分析系统性能:稳定性、快速性和稳态精度的方法。此法

16、不必直接求解系统的微分方程,而是间接地运用系统开环频率特性曲线分析闭环系统的响应。Matlab中提供了相应绘制频率特性曲线的命令函数。(1)nyquist曲线图调用格式为:Nyquist(sys)得到连续系统的极坐标图。Dnyquist(num,den,Ts)Dnyquist(a,b,c,d,Ts)得到关于离散系统的极坐标图。273.系统频域分析27二、控制系统Matlab仿真基础(2)伯德图Matlab中绘制系统的伯德图使用命令函数bode()实现。其调用格式为:bode(sys)得到关于连续系统的伯德图;dbode(num,den,Ts)dbode(a,b,c,d,Ts)得到关于离散系统的

17、伯德图。(3)系统相对稳定性分析控制理论中用幅值裕度幅值裕度和相角裕度相角裕度评价系统相对稳定性,Matlab中提供命令函数margin()从频域响应数据中计算出幅值裕度和相角裕度及其对应的角频率。gm,pm,wcp,wcg=margin(mag,phase,w)其中,wcg为剪切频率,pm为相角裕度,wcp为穿越频率,gm为幅值裕度Kg283.系统频域分析28二、控制系统Matlab仿真基础例例8已知系统开环传递函数为试利用Matlab画出系统的奈奎斯特图。解:num=0,0,4;den=3,7,2,0;nyquist(num,den);gridon;title(NyquistplotG(s

18、)=4/(3s3+7s2+2s);29293030二、控制系统Matlab仿真基础例例9已知系统的开环传递函数为试利用Matlab绘制系统的奈奎斯特图解:其程序:num=0,0,500;den=1,1,100,0;nyquist(num,den);31313232二、控制系统Matlab仿真基础例例10已知系统的开环传递函数为试利用Matlab绘制系统的伯德图。解:程序:num=0,0,500;den=1,1,100,0;bode(num,den);gridon;33333434二、控制系统Matlab仿真基础例例11已知一单位反馈系统开环传递函数为试绘制bode图并计算系统频域性能指标。解:

19、程序如下:num=0002;den=1650;sys=tf(num,den);mag,phase,w=bode(sys);gm,pm,wcp,wcg=margin(mag,phase,w)执行结果:gm=15.0000pm=65.1454wcp=2.2361wcg=0.3731margin(sys)35353636三、Simulink仿真基础1Simulink简介(1)Simulink由来p1990年,MathWorks软件公司为Matlab提供了新的控制系统模型图输入与仿真工具,并命名为SIMULAB,使得仿真软件进入了模型 化图形组态阶段。因其名字与当时比较著名的软件SIMULA类似,19

20、92年将该软件更名为Simulink;p软件名称表明了系统的两个主要功能:Simu(仿真)和Link(连接),即该软件可以利用鼠标在模型窗口上绘制出所需要的控制系统模 型,然后利用Simulink提供的功能来对系统进行仿真和分析。作为Matlab的一个重要组成部分,Simulink由于它所具有的上述的两大功能和特色,以及所提供的可视化仿真环境、快捷简便的操作方法,而使其成为目前最受欢迎的仿真软件。37qSimulink是Matlab软件的扩展,它是实现动态系统建模和仿真的一个软件包,它与Matlab语言的主要区别在于:其与用户交互接口是基 于Windows的模型化图形输入;其结果是使得用户可以

21、把更多的精力 投入到系统模型的构建,而非语言的编程上;q所谓模型化图形输入是指Simulink提供了一些按功能分类的基本的系统模块,用户只需要知道这些模块的输入输出及模块的功能,而 不必考察模块内部是如何实现的,通过对这些基本模块的调用,再将它们连接起来就可以构成所需要的系统模型(以.mdl扩展文件存取),进而进行仿真与分析。(2)Simulink特点38利用Simulink进行系统仿真的步骤:启动Simulink,打开Simulink模块库打开空白模型窗口;建立Smulink仿真模型;设置仿真参数,进行仿真;输出仿真结果。2Simulink仿真基础(1)Simulink基本操作39启动Sim

22、ulink两种方法l单击MatlabCommand窗口工具条上的Simulink图标;l在Matlab命令窗口输入Simulink;即弹出图示的模块库窗口界面(Simulink Library Browser),该界面右边的窗口给出Simulink所有的子模块库。每个子模块库中包含同类型的标准模型,这些模块可直接用于建立系统的Simulink框图模型。启动Simulink40菜单名菜单名菜单项菜单项功能功能FileNew-Model新建模型Modelproperties模型属性PreferencesSimulink界面的默认设置选项Print打印模型Close关闭当前Simulink窗口Exi

23、tMatlab退出Matlab系统EditCreatesubsystem创建子系统Masksubsystem封装子系统Lookundermask查看封装子系统的内部结构Updatediagram更新模型框图的外观ViewGotoparent显示当前系统的父系统Modelbrowseroptions模型浏览器设置Blockdatatipsoptions鼠标位于模块上方时显示模块内部数据Librarybrowser显示库浏览器Fitsystemtoview自动选择最合适的显示比例Normal以正常比例(100%)显示模型41SimulationStartStop启动停止仿真PauseContinu

24、e暂停继续仿真SimulationParameters设置仿真参数Normal普通Simulink模型Accelerator产生加速Simulink模型FormatTextalignment标注文字对齐工具Filpname翻转模块名ShowHidename显示隐藏模块名Filpblock翻转模块RotateBlock旋转模块Librarylinkdisplay显示库链接ShowHidedropshadow显示隐藏阴影效果Sampletimecolors设置不同的采样时间序列的颜色Widenonscalarlines粗线表示多信号构成的向量信号线Signaldimensions注明向量信号线的信

25、号数Portdatatypes标明端口数据的类型Storageclass显示存储类型ToolsDataexplorer数据浏览器SimulinkdebuggerSimulink调试器Dataclassdesigner用户定义数据类型设计器LinearAnalysis线性化分析工具42Simulink模块库(R2008a版本)模块模块名称名称CommonlyUsedBlocks常用模块Continuous连续模块Discontinuities非连续模块Discrete离散模块LogicandBitOperations逻辑和位操作模块LookupTable)查找表模块MathOperations数

26、学模块ModelVerification模型检测模块Model-WideUtilities模型扩充模块Ports&Subsystems端口和子系统模块SignalAttributes信号属性模块SignalRouting信号线路模块Sinks接收器模块Sources输入源模块User-DefinedFunctions用户自定义函数模块Simulink模块库按功能进行分类,包括以下15类子库:431.连续模块连续模块Continuous名称名称功能说明功能说明Derivative微分环节Integrator积分环节State-Space状态方程模型TransferFcn传递函数模型Transpo

27、rtDelay把输入信号按给定的时间做延时VariableTransportDelay把输入信号按一个可变的时间做延时Zero-Pole零极点增益模型2.非连续模块非连续模块Discontinuous名称名称功能说明功能说明Backlash间隙非线性Coulomb&ViscousFriction库仑和黏度摩擦非线性DeadZone死区非线性DeadZoneDynamic动态死区非线性HitCrossing冲击非线性Quantizer量化非线性RateLimiter静态限制信号的变化速率RateLimiterDynamic动态限制信号的变化速率Relay滞环比较器,限制输出值在某一范围内变化Sa

28、turation饱和输出,让输出超过某一值时能够饱和SaturationDynamic动态饱和输出WrapToZero还零非线性443.离散模块离散模块Discrete名称名称功能说明功能说明Difference差分环节DiscreteDerivative离散微分环节DiscreteFilter离散滤波器DiscreteState-Space离散状态空间系统模型DiscreteTransfer-Fcn离散传递函数模型DiscreteZero-Pole以零极点表示的离散传递函数模型Discrete-timeIntegrator离散时间积分器First-OrderHold一阶保持器IntegerD

29、elay整数被延迟Memory输出本模块上一步的输入值TappedDelay延迟TransferFcnFirstOrder离散一阶传递函数TransferFcnLeadorLag传递函数TransferFcnRealZero离散零点传递函数UnitDelay一个采样周期的延迟WeightedMovingAverage权值移动平均模型ZeroOrderHold零阶保持器454.逻辑和位操作模块逻辑和位操作模块Logic and Bit Operations名称名称功能说明功能说明BitClear位清零BitSet位置位BitwiseOperator逐位操作CombinatorialLogic组合

30、逻辑CompareToConstant和常量比较CompareToZero和零比较DetectChange检测跳变DetectDecrease检测递减DetectFallNegative检测负下降沿DetectFallNonpositive检测非负下降沿DetectIncrease检测递增DetectRiseNonnegative检测非负上升沿DetectRisePositive检测正上升沿ExtractBits提取位IntervalTest检测开区间IntervalTestDynamic动态检测开区间LogicalOperator逻辑操作符RelationalOperator关系操作符Shi

31、ftArithmetic移位运算465.查找表模块查找表模块Lookup Table名称名称功能说明功能说明Cosine余弦函数查询表DirectLookupTable(n-D)N个输入信号的查询表(直接匹配)Interpolation(n-D)usingPreLookupN个输入信号的预插值LookupTable输入信号的查询表(线性峰值匹配)LookupTable(2-D)两维输入信号的查询表(线性峰值匹配)LookupTable(n-D)N维输入信号的查询表(线性峰值匹配)LookupTableDynamic动态查询表PreLookupIndexSearch预查询索引搜索Sine正弦函数

32、查询表6.数学模块数学模块Math Operations名称名称功能说明功能说明Abs取绝对值Add加法AlgebraicConstraint代数约束Assignment赋值Bias偏移ComplextoMagnitude-Angle由复数输入转为幅值和相角输出ComplextoReal-Imag由复数输入转为实部和虚部输出Divide除法47DotProduct点乘运算Gain比例运算Magnitude-AngletoComplex由幅值和相角输入合成复数输出MathFunction包括指数函数、对数函数、求平方、开根号等常用数学函数MatrixConcatenation矩阵级联MinMax

33、最值运算MinMaxRunningResettable最大最小值运算Polynomial多项式Product乘运算ProductofElements元素乘运算Real-ImagtoComplex由实部和虚部输入合成复数输出Reshape取整RoundingFunction舍入函数Sign符号函数SineWaveFunction正弦波函数SliderGain滑动增益Subtract减法Sum求和运算SumofElements元素和运算TrigonometricFunction三角函数UnaryMinus一元减法WeightedSampleTimeMath权值采样时间运算487.模型检测模块模型检

34、测模块Model Verification名称名称功能说明功能说明Assertion确定操作CheckDiscreteGradient检查离散梯度CheckDynamicGap检查动态偏差CheckDynamicLowerBound检查动态下限CheckDynamicRange检查动态范围CheckDynamicUpperBound检查动态上限CheckInputResolution检查输入精度CheckStaticGap检查静态偏差CheckStaticLowerBound检查静态下限CheckStaticRange检查静态范围CheckStaticUpperBound检查静态上限8.模型扩

35、充模块模型扩充模块Model-Wide Utilities名称名称功能说明功能说明BlockSupportTable功能块支持的表DocBlock文档模块ModelInfo模型信息Timed-BasedLinearization时间线性分析Trigger-BasedLinearization触发线性分析499.端口和子系统模块端口和子系统模块Ports&Subsystems名称名称功能说明功能说明ConfigurableSubsystem结构子系统AtomicSubsystem单元子系统CodeReuseSubsystem代码重用子系统Enable使能EnabledandTriggeredSu

36、bsystem使能和触发子系统EnabledSubsystem使能子系统ForIteratorSubsystem重复操作子系统Function-CallGenerator函数响应生成器Function-CallSubsystem函数响应子系统If假设操作IfActionSubsystem假设动作子系统In1输入端口Model模型Out1输出端口Subsystem子系统SubsystemExamples子系统例子SwitchCase转换事件SwitchCaseActionSubsystem转换事件子系统Trigger触发操作TriggeredSubsystem触发子系统WhileIterator

37、Subsystem重复子系统5010.信号属性模块信号属性模块Signal Attributes名称名称功能说明功能说明DataTypeConversion数据类型转换DataTypeConversionInherited继承的数据类型转换DataTypeDuplicate数据类型复制DataTypePropagation数据类型继承DataTypePropagationExamples数据类型继承例子DataTypeScalingStrip数据类型缩放IC信号输入属性Probe探针点RateTransition比率转换SignalConversion信号转换SignalSpecificati

38、on信号特征说明WeightedSampleTime权值采样时间Width信号宽度5111.信号线路模块信号线路模块Signal Routing名称名称功能说明功能说明BusAssignment总线分配BusCreator总线生成BusSelector总线选择DataStoreMemory数据存储DataStoreRead数据存储读取DataStoreWrite数据存储写入Demux将一个复合输入转化为多个单一输出EnvironmentController环境控制器From信号来源Goto信号去向GotoTagVisibility标签可视化IndexVector索引向量ManualSwitch

39、手动选择开关Merge信号合并MultiportSwitch多端口开关Mux将多个单一输入转化为一个复合输出Selector信号选择器Switch开关选择,当第二个输入端大于临界值时,输出由第一个输入端而来,否则输出由第三个输入端而来5212.接收器模块接收器模块Sinks名称名称功能说明功能说明Display数字显示器FloatingScope浮动观察器Out1输出端口Scope示波器StopSimulation仿真停止Terminator连接到没有连接到的输出端ToFile(.mat)将输出数据写入数据文件保护ToWorkspace将输出数据写入Matlab的工作空间XYGraph显示二维

40、图形13.输入源模块输入源模块Sources名称名称功能说明功能说明Band-LimitedWhiteNoise带限白噪声ChirpSignal产生一个频率不断增大的正弦波Clock显示和提供仿真时间Constant常数信号CounterFree-Running无限计数器CounterLimited有限计数器DigitalClock在规定的采样间隔产生仿真时间FromFile(.mat)来自数据文件FromWorkspace来自Matlab的工作空间Ground连接到没有连接到的输入端53In1输入信号PulseGenerator脉冲发生器Ramp斜坡输入RandomNumber产生正态分布的

41、随机数RepeatingSequence产生规律重复的任意信号RepeatingSequenceInterpolated重复序列内插值RepeatingSequenceStair重复阶梯序列SignalBuilder信号创建器SignalGenerator信号发生器,可产生正弦、方波、锯齿波及随意波SineWave正弦波信号Step阶跃信号UniformRandomNumber一致随机数14.用户自定义函数模块用户自定义函数模块User-Defined Functions名称名称功能说明功能说明EmbeddedMatlabFunction嵌入的Matlab函数Fcn用自定义的函数(表达式)进行

42、运算M-fileS-FunctionM文件编写的S函数MatlabFcn利用Matlab的现有函数进行运算S-Function调用自编的S函数的程序进行运算S-FunctionBuilderS函数建立器S-FunctionExamplesS函数例子54(2)建立模型窗口只有先创建一个空白的模型窗口,才能将模块库的相应模块复制到该窗口,通过必要的连接,建立起Simulink仿真模型,也将这种窗口称为Simulink仿真模型窗口。以下方法可用于打开一个空白模型窗口:u在Matlab主界面中选择【File:NewModel】菜单项;u单击模块库浏览器的新建图标;u选中模块库浏览器的【File:New

43、Model】菜单项55(3)模块操作移动与删除在Simulink模型或模块库窗口内,用鼠标左键单击所需模块图标,图标四角出现黑色小方点,表明该模块已经选中。在模块库中选中模块后,按住鼠标左键不放并移动鼠标至目标模型窗口指定位置,释放鼠标即完成模块拷贝。模块删除只需选定删除的模块,按Del键即可。56模块调整p改变模块位置与大小选中模块,光标变成十字叉即可移动;将光标置于四角,即可改变大小p改变模块方向使模块输入端输入输出端口的方向改变。选中模块后,选取菜单FormatRotateBlock(快捷键Ctrl+R),可使模块旋转90。57模块参数设置双击指定模块图标,打开模块对话框,根据对话框栏目

44、中提供的信息进行参数设置或修改。如双击模型窗口的传递函数模块,弹出图示对话框,在对话框中分别输入分子、分母多项式的系数,点击OK键,完成该模型的设置。58连接线(左键)分支线(右键)模块的连接模块之间连接是用连接线将一个模块的输出端与另一模块的输入端连接起来;也可用分支线把一个模块的输出端与几个模块的输入端连接起来连接线生成是将鼠标置于某模块的输出端口(显一个十字标),按下鼠标左键拖动鼠标置另一模块的输入端口即可。分支线则是将鼠标置于分支点,按下鼠标右键,其余同上。59说明模块的修改、调整、连接通常只能在仿真模型窗口中进行,不要直接对模块库中的模块进行修改或调整。文件命名和保存选择模型窗口菜单

45、FileSaveas后弹出一个“Saveas”对话框,填入模型文件名,按保存(s)即可。60说明若不设置仿真参数,则采用Simulink缺省设置.(4)系统仿真参数设定打开Simulink仿真模型窗口,或打开指定的.mdl文件;设置仿真参数:在模型窗口选取菜单【Simulation:Parameters】,弹出“SimulationParameters”对话框,设置仿真参数,然后按【OK】即可。61(5)系统仿真运行仿真运行和终止:在模型窗口选取菜单【Simulation:Start】,仿真开始,至设置的仿真终止时间,仿真结束。若在仿真过程中要中止仿真,可选择【Simulation:Stop】

46、菜单。也可直接点击模型窗口中的(启动)、(停止)仿真。62(1)开环与闭环3Simulink仿真实例63(2)复杂系统仿真64(3)PID控制仿真在自动控制发展历程中,PID(比例积分微分)调节是历史最悠久、控制性能最强的调节方式。其调节原理简单,易于整定,使用方便;调节性能指标对于被控对象特性的稍许变化不很敏感,使其具有很好的调节有效性;同时可用于补偿系统使之达到大多数品质指标的要求。PID调节的传递函数模型为:当TD=0、TI=时为比例调节器;当TI=时为比例微分调节器,若作为校正器相当于超前校正器;当TD=0时为比例积分调节器,若作为校正器相当于滞后校正器;当KP0、TD0、TI时为全P

47、ID调节器。65Kp=1,Ki=0,Kd=0Kp=1,Ki=0.1,Kd=0Kp=1,Ki=0,Kd=10Kp=1,Ki=0.1,Kd=1066Kp=1.12,Ki=0.072,Kd=3.52Kp=1,Ki=0.1,Kd=2Kp=2,Ki=0.1,Kd=10Kp=1,Ki=0,Kd=067PID调节作用分析68比例调节作用分析随KP加大,闭环系统:超调量加大响应速度加快69积分调节作用分析随TI加大,闭环系统:超调量减小响应速度微慢70微分调节作用分析随TD加大,闭环系统:超调量增大响应速度微慢714Simulink仿真小结Simulink是Matlab的一个扩展软件,它是基于模型化图型输入仿真环境。模型化图型输入使得用户可以把更多的精力投入到模型的构建上来,要求熟悉各功能模块库中各子模块的功能,熟练掌握Simulink环境下模块的操作及线的处理,掌握自定义功能模块。掌握Simulink解法器的设置。使用Simulink进行仿真分析的关键是熟练地运用各功能子模块构建出需要的正确的系统模型并合理地设置解法器以使仿真得以正常运行。72

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 小学资料

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知得利文库网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

© 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

黑龙江省互联网违法和不良信息举报
举报电话:0468-3380021 邮箱:hgswwxb@163.com