状态空间与simulink仿真

合集下载

Simulink建模与仿真(精华版)

Simulink建模与仿真(精华版)

3.2.2、仿真运行原理 、
Simulink仿真包括两个阶段;初始化阶段和模型执行阶段 仿真包括两个阶段; 仿真包括两个阶段 (1) 模块初始化 在初始化阶段主要完成以下工作: 在初始化阶段主要完成以下工作: 模型参数传给Matlab进行估值,得到的数值结果将作为模型 进行估值, ① 模型参数传给 进行估值 的实际参数; 的实际参数; 展开模型的各个层次, ② 展开模型的各个层次,每一个非条件执行的子系统被它所包 含的模块所代替; 含的模块所代替;
上 页
下 页
3
Simulink的特点 的特点: 的特点
(1)丰富的可扩充的预定义模块库 ; 丰富的可扩充的预定义模块库 (2)交互式的图形编辑器来组合和管理直观的模块图 ; 交互式的图形编辑器来组合和管理直观的模块图 (3)以设计功能的层次性来分割模型,实现对复杂设计的管理; 以设计功能的层次性来分割模型, 以设计功能的层次性来分割模型 实现对复杂设计的管理; (4)通过 通过Model Explorer 导航、创建、配置、搜索模型中的任 导航、创建、配置、 通过 意信号、参数、属性, 意信号、参数、属性,生成模型代码 ; (5)提供 提供API(Application Programming Interface,应用程序编程接口 应用程序编程接口) 提供 应用程序编程接口 用于与其他仿真程序的连接或与手写代码集成 ; (6)使用 使用Embedded MATLAB™ 模块在 模块在Simulink和嵌入式系统 使用 和嵌入式系统 执行中调用MATLAB算法 ; 执行中调用 算法 (7)使用定步长或变步长运行仿真,根据仿真模式 使用定步长或变步长运行仿真, 使用定步长或变步长运行仿真 根据仿真模式(Normal, Accelerator,Rapid Accelerator)来决定以解释性的方式运行 来决定以解释性的方式运行 或以编译C代码的形式来运行模型 或以编译 代码的形式来运行模型 ; (8)图形化的调试器和剖析器来检查仿真结果,诊断设计的性 图形化的调试器和剖析器来检查仿真结果, 图形化的调试器和剖析器来检查仿真结果 能和异常行为 ; (9)可访问 可访问MATLAB从而对结果进行分析与可视化,定制建模环境, 从而对结果进行分析与可视化, 可访问 从而对结果进行分析与可视化 定制建模环境, 定义信号参数和测试数据; 定义信号参数和测试数据; (10)模型分析和诊断工具来保证模型的一致性,确定模型中的错误。 模型分析和诊断工具来保证模型的一致性, 模型分析和诊断工具来保证模型的一致性 确定模型中的错误。

SIMULINK仿真

SIMULINK仿真
2.Data Import/Export类设置 ① 矩阵形式。MATLAB把矩阵的第一列默认为时间向量,
后面的每一列对应每一个输入端口,矩阵的第一行表示某 一时刻各输入端口的输入状态。另外,也可以把矩阵分开 来表示,即MATLAB默认的表示方法[t,u],其中t是一维 时间列向量,表示仿真时间,u是和t长度相等的n维列向 量(n表示输入端口的数量),表示状态值。例如,在命 令窗口中定义t和u:
条件执行子系统分为
1.使能子系统
使能子系统表示子系统在由控制信号控制时,控制信号由 负变正时子系统开始执行,直到控制信号再次变为负时结 束。控制信号可以是标量也可以是向量。
建立使能子系统的方法是:打开Simulink模块库中的Ports & Subsystems模块库,将Enable模块复制到子系统模型 中,则系统的图标发生了变化。
阵、结构和包含时间的结构3种选择。“Limit data points to last”用来限定保存到工作空间中 的数据的最大长度。 输出选项(Output options)有: ① Refine output(细化输出) ② Produce additional output(产生附加输出) ③ Produce specified output only(仅在指定 的时刻产生输出)
4.1 初识Simulink—— 一个简单的仿 真实例
在MATLAB的命令窗口输入Simulink,或单击MATLAB主 窗口工具栏上的“Simulink”命令按钮即可启动Simulink。 Simulink启动后会显示如图4.1所示的Simulink模块库浏览 器(Simulink Library Browser)窗口。
U (s)
Kp
Ki s
Kd s

simulink仿真说明

simulink仿真说明

Simulink是Simulation和link仿真链接。

是一个附加组件,为用户提供了一个建模与仿真的工作平台,由于许多功能是基于MATLAB平台的。

必须在MATLAB环境中运行,也把他称为一个MATLAB的工具箱。

以前MATLAB仿真编程是在文本窗口中进行的。

输入函数是命令和MATLAB 函数,在simulink 中与用户的交互接口是基于windows的模型化图形输入,用户可以通过单击拖动鼠标的方式绘制和组织系统,并完成对系统的仿真。

因此对于我们来说只需知道这些功能模块的输入输出、功能以及图形界面的使用方法。

就可以用鼠标和键盘进行仿真。

三种方法进入Simulink1、在MATLAB菜单栏中单击FILE,在下拉菜单的NEW选项中单击MODEL.2、在MATLAB工具栏中单击彩色图标,然后在打开的模型库浏览器窗口中单击‘新建文件‘3、在MATLAB命令窗口中输入Simulink,然后在打开的模型库浏览器窗口中单击‘新建文件‘。

一、模块的提取左键拖曳右键add to二、模块的移动放大和缩小移动:左键拖曳选中后用方向键脱离线移动按住shift 然后拖曳缩放 : 点击模块四个角拖曳三、复制粘贴和删除和windows一样删除选择clear四、模块的旋转:右键点击然后选择Flip block 顺时针转180度 rotate block顺时针90度。

五、模块名的修改移动:单击该模块名出现一个小框可以像文本一样修改移动还可以右键单击然后Hide name六、模块参数设置:双击七、模块连接:光标的箭头对准模块的输出端变成+后按下左键拖曳到另一个输入端松开左键。

八、连线的弯折开始画线时,在需要弯折的地方松开鼠标停顿一下,然后继续按下鼠标左键改变方向即可。

移动光标指向要移动的线段,然后拖动鼠标即可删除选中要删除的部分,然后delete直流电动机的直接启动新建一个simulink 仿真平台打开simulink然后点击新建打开simpowersystems的加号在electrical source中选择D C Voltage Source拖曳到仿真平台Elements里面选BreakerConnectors 里面选择Ground output把电源正端接到断路器的1端,电源负端接地。

simulink仿真设置

simulink仿真设置

一、算法设置1.变步长(Variable—Step)求解器可以选择的变步长求解器有:ode45,ode23,ode113,odel5s,ode23s和discret.缺省情况下,具有状态的系统用的是ode45;没有状态的系统用的是discrete。

1)ode45基于显式Runge—Kutta(4,5)公式,Dormand—Prince对.它是—个单步求解器(solver)。

也就是说它在计算y(tn)时,仅仅利用前一步的计算结果y(tn-1).对于大多数问题.在第一次仿真时、可用ode45试一下。

2)ode23是基于显式Runge—Kutta(2,3).Bogackt和Shampine对.对于宽误差容限和存在轻微刚性的系统、它比ode45更有效一些.ode23也是单步求解器。

3)odell3是变阶Adams-Bashforth—Moulton PECE求解器.在误差容限比较严时,它比ode45更有效.odell3是一个多步求解器,即为了计算当前的结果y(tn),不仅要知道前一步结果y(tn-1),还要知道前几步的结果y(tn-2),y(tn-3),…;4)odel5s是基于数值微分公式(NDFs)的变阶求解器.它与后向微分公式BDFs(也叫Gear 方法)有联系.但比它更有效.ode15s是一个多步求解器,如果认为一个问题是刚性的,或者在用ode45s时仿真失败或不够有效时,可以试试odel5s。

odel5s是基于一到五阶的NDF公式的求解器.尽管公式的阶数越高结果越精确,但稳定性会差一些.如果模型是刚性的,并且要求有比较好的稳定性,应将最大的阶数减小到2.选择odel5s求解器时,对话框中会显示这一参数.可以用ode23求解器代替。

del5s,ode23是定步长、低阶求解器。

5)ode23s是基于一个2阶改进的Rosenbrock公式.因为它是一个单步求解器,所以对于宽误差容限,它比odel5s更有效.对于一些用odel5s不是很有效的刚性问题,可以用它解决。

Simulink动态仿真仿真

Simulink动态仿真仿真

Simulink动态仿真仿真Simulink简介:Simulink是MATLAB的重要组成部分,提供建立系统模型、选择仿真参数和数值算法、启动仿真程序对该系统进行仿真、设置不同的输出方式来观察仿真结果等功能。

1、启动方法:单击图标或在窗口输入simulink在启动Simulink模块库浏览器后再单击其工具栏中的New model 命令按钮,会弹出名字为untitled的模型编辑窗口。

在MATLAB主菜单中,选择File菜单中New菜单项的Model命令,也可打开模型编辑窗口。

利用模型编辑窗口,可以通过鼠标的拖放操作创建一个模型。

2、Simulink的退出为了退出Simulink,只要关闭所有模型编辑窗口和Simulink模块库浏览器窗口即可。

3、Simulink的基本模块4、掌握模块的编辑:添加,选取,复制删除。

5、掌握模块的连接举例:建立系统仿真x1=x2*tX2=x2*e(-0.5*t)操作步骤1) 在MATLAB主菜单中,选择File菜单中New菜单项的Model命令,打开一个模型编辑窗口。

(2) 将所需模块添加到模型中。

(3) 设置模块参数并连接各个模块组成仿真模型。

设置模块参数后,用连线将各个模块连接起来组成系统仿真模型。

模型建好后,从模型编辑窗口的File 菜单中选择Save 或Save as 命令将它存盘。

举例2:使用simlink 仿真下列曲线,取w=2*pix(wt)=sin(wt)+1/3*sin(3wt)+1/5*sin(5wt)+1/7*sin(7wt)+1/9*sin(9wt) 步骤:(1) 启动Simulink 并打开模型编辑窗口。

(2) 将所需模块添加到模型中。

(3) 设置模块参数并连接各个模块组成仿真模型。

设置模块参数后,用连线将各个模块连接起来组成仿真模型。

(4) 设置系统仿真参数。

(5) 开始系统仿真。

(6) 观察仿真结果。

作业:完成相关习题:1、使用simlink 仿真下列曲线,取w=2*pix(wt)=1/3*sin(5*wt)+ sin(wt)+sin(1/8*wt)2、使用simlink 仿真i=⎰+10)1ln(*dx x x。

simulink仿真

simulink仿真

Neural Network Blockset:神经网络工具箱;
Simulink Extras:补充Simulink公共模块库; Stateflow:用来对复杂的事件驱动系统进行建模和仿真; Real-Time Workshop (简称RTW):可以直接将simulink模型框图和 Stateflow的状态图转换成高效优化的程序代码。
将其输入写入工作空间 X-Y示波器模块
16
5、 Sources(信号源模块组) 及其用途
18个基本模块,包 括模型及子系统输入 与信号发生器两种。 其子模块组的名称和 用途见表3-5。
17
表3-5 信号源模块组子模块的名称及用途
模 块 名 称
Chirp Signal Clock Constant Digital Clock From Workspace From File Ground In1 Pulse Generator
工具栏区:含4个按钮: 是新建与打开按钮, 是将模 块放在桌面最上层按钮,Find是用来查找模块库中的模块按
钮。
文字说明区:对所选模块的文字说明; 模块库区:含模块库及其相应的模块组; 状态栏区:即最下方显示Ready区,用来显示浏览器状态。
4
二、基本模块库的分类及其用途
SIMULINK 有13类基本模块库,分别为: Continuous(连续模块组)、 Discontinuities(非连续模块组)、 Discrete(离散模块组)、 Look-Utions(数学运算模块组)、 Model Verification(模型检验模块组)、




Band-Limited White Noise 带宽限幅白噪声模块
线性调频信号模块(频率随时间线性增加的 正弦信号),可用于非线性系统谱分析 在每一仿真步输出当前仿真时间(连续时间) 输出与时间无关的实数或复数 仅在指定的采样间隔内输出仿真时间,在 其它时间输出保持前一次值不变(离散时间) 从MATLAB工作空间中读取数据 从一个指定的文件中读取数据并输出 接地模块 输入端口模块(同端口与子系统模块中In1) 产生固定频率脉冲序列

《Simulink与控制系统仿真(第3版)》的课件 线性系统状态空间分析和非线性系统分析

《Simulink与控制系统仿真(第3版)》的课件 线性系统状态空间分析和非线性系统分析
通过本章,读者能了解非线性系统的发展概况、非线性 系统的数学描述和特性、非线性系统的研究方法和特点 ,掌握非线性系统分析和设计的基本概念和方法以及利 用MATLAB/Simulink对非线性系统进行分析。
11.2 非线性系统概述
含有非线性元件或环节的系统称为非线性系统。非线性特性包括 许多类型,典型的静态非线性特性包括死区非线性、饱和非线性、 间隙非线性和继电非线性。
采用MATLAB绘制相轨迹图
绘制相轨迹图的实质是求解微分方程的解。求解微分方程数 值解的算法有多种,MATLAB提供了求解微分方程的函数组, 常用的有ode45,它采用的计算方法是变步长的龙格-库塔4/5 阶算法。 ode45()常用的调用格式如下: [t, y]=ode45(odefun, tspan, y0) 在用户自己编写的MATLAB函数中既可以描述线性系统特性, 也可以描述非线性系统特性。
Relay:继电非线性; Saturation:饱和非线性; Saturation Dynamic:动态饱和非 线性;
Wrap To Zero:环零非线性。
11.3 相平面法
应用相平面法分析一阶尤其是二阶非线性控制系统,弄清非线性系统的稳定 性、稳定域等基本属性以及解释极限环等特殊现象,具有非常直观形象的效 果。 由于绘制二维以上的相轨迹十分困难,因此相平面法对于二阶以上的系统几 乎无能为力,这是相平面法的局限。
11.2.3 Simulink中的非线性模块
Backlash:间隙非线性; Coulomb&Viscous Friction:库仑 和黏度摩擦非线性;
Dead Zone:死区非线性; Dead Zone Dynamic:动态死区 非线性;
Hit Crossing:冲击非线性; Quantizer:量化非线性; Rate Limiter:比例限制非线性; Rate Limiter Dynamic:动态比例 限制非线性;

SIMULINK动态结构图仿真

SIMULINK动态结构图仿真

SIMULINK动态结构图仿真实际工程的单闭环控制系统仿真通常是通过SIMULINK动态结构图实现的。

实现的思路是先将动态结构图转换为状态空间模型,然后再仿真。

具体过程是用SIMULINK提供的1inmod()和1inmod2()两个函数,从连续系统中提取线性模型。

两个函数命令执行后,都可以得到一个用[A,B,C,D]表达的状态空间模型。

然后就可以对这个状态空间模型来进行各种仿真。

这种方法之所以被普遍采用,是因为:其一,实际工程的控制系统,是由一个一个环节按特定控制要求连接而成,经抽象及近似处理后即得SIMULINK动态结构图,动态结构图就是可见的原始模型,不需要再费力费时做工作,动态结构图就可以用来进行仿真;其二,除开极少数简单问题外,有了动态结构图再求传递函数,一般都较复杂。

因此,通过SMUHNK动态结构图模型实现仿真是较好的方法。

需要特别注意,系统的SMULINK动态结构图模型的.mdl文件在计算机磁盘空间里存放的路径。

实例:简单闭环控制系统的MA TLAB仿真用转速负反馈构成的直流调速系统,其原理框图如图l所示。

图l 转速负反馈直流调速系统原理框图本系统用直流测速发电机TG作电动机转速n的检测元件,它与被控电动机轴硬性连接,可将电动机转速的变化转换为电压的变化,该电压经分压器分压,即是与转速n成正比的反馈电压U f,用它与给定电压U g比较后,得到偏差电压ΔU=U g—U f,该偏差电压ΔU经放大器放大后,其输出电压就是晶闸管触发器的移相控制电压U k。

晶闸管—直流电机单闭环调速系统(V—M系统)的SIMULINK动态结构图如图2所示。

图中直流电机P nom=10kW,U nom=220V,I nom=55A,n nom=1000r/min,电枢电阻R a=0.5Ω,V—M系统主电路总电阻R=1Ω,额定磁通下的电机电动势转速比C e=0.1925V.min/r,电枢回路电磁时间常数T a=0.017s,系统运动部分飞轮矩相应的机电时间常数Tm=0.075s,系统测速反馈系数Kt=0.01178V/rpm,图2 单闭环调速系统的SIMULINK动态结构图整流触发装置的放大系数K s=44,三相桥平均失控时间T s=0.00167s,比例积分调节器的两个系数T1=0.049s,T2=0.088s。

基于Simulink状态空间建模的系统分析方法程序实现

基于Simulink状态空间建模的系统分析方法程序实现

基于Simulink状态空间建模的系统分析方法程序实现荆晓莉(陕西理工学院物电学院电子信息科学与技术1101班,陕西汉中723001)指导老师:龙姝明[摘要] 无论用何种方法求高阶连续系统解析解都是十分棘手的问题。

实际上,科学研究和工程应用中更多地需要系统的数值解。

调用Matlab的Simulink工具包,可以用模块图标方法来编程,并通过运行系统模型文件的方法直接给出连续系统的数值解,而不需要将连续系统转换为离散系统再求解。

对于复杂LTI 系统直接写出微分方程再给出状态空间矩阵很困难,我们获得系统状态空间矩阵的方法是:先将系统映射到s 域,列出解(系统输出)函数的像函数满足的代数方程组,解代数方程组给出系统函数H(s),再调用Matlab的函数[a,b,c,d]=tf2ss(num,den)就得到系统的状态空间矩阵,从而完成系统的描述,再创建系统模型文件,写入状态空间矩阵、输入信号、初值条件及运行相关参数,最后编程调用sim()函数运行模型文件给出连续系统的数值解。

[关键字]连续系统;离散化;Simulink;M文件The implementation of the system analysis method based on Simulink state space modelingJing Xiaoli(Grade11,Class1,Major Electronic Information Science and Technology Department of Physics,ShannxiUniversity of Technology,Hanzhong,723001)Tutor: Long ShumingAbstract It is a difficult problem for the higher order continuous system to solve the problem.In fact,the numerical solution of the system is more needed for scientific research and engineering application.Calling Matlab Simulink toolkit can be programmed by using the method of module icon,and the direct method of operation system model file are given continuous system of numerical solution, without the need to convert the continuous system to discrete system, to be solved. Continuous model, mapped to directly write for complex LTI system differential equations and give the state space matrix is very difficult,we obtain the system state space matrix method is: first the system's domain, a list of solutions (output) function as function satisfies the algebraic equation group, the solution of algebraic equations gives the system function H(s), and then call the Matlab function [A,B,C,D]=tf2ss(num,den) system state space matrix,thus completing the system description, and then create a system file, write the state space matrix, input signal, the initial conditions and operating parameters,programming at last call to sim run the model file is system of numerical solutions.Keywords Continuous system,Discrete,Simulink,M file目录1 状态空间分析方法的概述 (1)2 快速创建LTI连续系统状态空间模型的方法 (2)2.1 创建LTI连续系统传递函数的方法 (2)2.2 构造描述LTI连续系统的状态空间模型矩阵 (3)3 用Simulink状态空间建模求解LTI系统数值解的思路 (4)3.1 LTI连续系统的描述 (4)3.2 创建系统的Simulink状态空间模型 (4)3.3 模块内部参数设置及数据存储 (5)4 利用Simulink状态空间建模求解LTI系统的优缺点 (7)4.1 状态空间建模求解LTI系统的优点 (7)4.2 状态空间建模求解LTI系统的缺点 (7)5 连续系统Simulink状态空间建模分析方法程序设计的思路 (7)5.1 调用模型文件及编程求解系统响应 (7)5.2 分析系统的频谱与相位 (9)6 状态空间分析方法的应用实例 (9)6.1 实际连续系统的描述 (9)6.2 在程序中设置参数 (10)6.3 运行程序,求解系统 (10)结语 (11)附录 (13)最近几年科学不断发展,系统的结构也渐渐复杂。

状态空间与simulink仿真

状态空间与simulink仿真

考虑以下系统u x X ⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡+⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡-----=102101110221[]xy 001=对系统设计一个状态反馈控制器使得闭环阶跃响应的超调量小于5%,且在稳态值1%范围的调节时间小于4.6S 。

○1主导二阶极点方法配置极点 分析:超调量小于5%,即%521≤--ξξπe算得69.0≥ξ稳态值1%范围的调节时间小于4.6S ,即6.46.4≤=σs t1≥σ下面首先对系统的能控性进行判断,以编程方式实现 a=[-1 -2 -2;0 -1 1;1 0 -1];b=[2;0;1]; %输入a ,b 矩阵 q=[b a*b a^2*b] rank(q)计算结果为⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡--=511010042qq 的秩为3因此该系统为完全能控型系统,在满足系统要求的前提下,理论上能任意配置期望极点下面根据具体的求解思路进行编程求解反馈控制器kg=poly(a); %求原系统的特征方程 a2=g(2);a1=g(3);a0=g(4); w=[1 0 0;a2 1 0;a1 a2 1]; q1=[a^2*b a*b b];p=q1*w; %求解转换矩阵 deta=1; zeta=0.75;wn=deta/zeta; %输入满足条件的ζ和δden=conv([1 4],[1 2*deta wn^2]); %输入期望极点(-4,-1±0.88i ) aa2=den(2);aa1=den(3);aa0=den(4); k=[aa0-a0 aa1-a1 aa2-a2];k1=k*(inv(p)) %输出配置矩阵k得到[]0444.06444.14778.11=k 下面对系统进行验证,是否满足条件 ahat=a-b*k1; bhat=b; chat=[1 0 0]; dhat=0;sys=ss(ahat,bhat,chat,dhat); step(sys,'r'); sys1=ss(a,b,c,d); hold on; grid on;step(sys1,'.-');(其中sys1为未加控制器的原系统)由图可知,系统在进行配置之前并未满足系统要求,在增加控制器之后,系统要求得到满足。

simulink入门及仿真实例

simulink入门及仿真实例

17
结果如下:上图为v(t), 下图为h(t).
18
r1 r2 1, n1 n2 100, s1 0.5, s2 2, x0 y0 10.
对x(t), y(t)进行模拟, 研究其发展趋势.
16
例3 弹跳的皮球(help/demos/simulink中的一个例子):
v(t) 15 tgdt, g 9.81, 0 t 数学模型:h(t) 10 0 v(t)dt, when h 0, v 0.8v.
4
子库 Continuous和 Discrete分别存放连续 和离散的函数, 如连续函数有Derivative(求导 数), Integrator(积分器), State-Space(状态空间), Transfer Fcn( 传 递 函 数 ) 等 等 , 离 散 的 有 Discrete Transfer Fcn(离散传递函数), Discrete Filter(离散滤波器), Discrete State-Space(离散 状态空间)等等. 在Simulink Library Browser窗口中, 建立 一个新模型(new model), 即打开一个新的空 白模型窗口, 用鼠标左键点取所需要的模块 拖到模型窗口中, 用鼠标左键在模块间建立 连接线(若在已有连接线上分叉则用右键)即 可.
Simulink入门
什么是Simulink? Simulink是MATLAB提供的实现动态 系统建模和仿真的一个软件包. 它让用户 把精力从编程转向模型的构造. Simulink一个很大的优点是为用户省 去了许多重复的代码编写工作,
1
Simulink的启动
首先须确定MATLAB已安装了Simulink工 具箱. 在工具栏点击Simulink图标:

第4章 SIMULINK仿真

第4章  SIMULINK仿真

• (9)Signal Attributes(信号属性模块库)和Signal Attributes(信号属性模块库) Routing(信号路由模块库) Routing(信号路由模块库)
• • • • • • • • • • • • • • • 这两个模块库主要是由描述信号系统的模块构成,其中主要模块有: Data Type Conversion (数据类型转换器) IC(初始状态); Probe(探测器); Width(带宽); Bus Creator(总线生成器); Bus Selector(总线选择器); Data Store Memory(数据记忆存储); Data Store Read(数据读存储); Data Store Write(数据写存储); From(导入); Goto(传出); Goto Tag Visibility(传出标记符可视性); Multiport Switch (多路选择开关); Mux(混合)
• (7)Model Verification(模型辨识模块库)和ModelVerification(模型辨识模块库) ModelUtilities(扩展模型模块库) Wide Utilities(扩展模型模块库) • 这两个模块库由描述模型辨识的和扩展模型模块构成,其 中主要模块有: • Assertion(确认); • Check Discrete Gradient(检查离散梯度); • Check Dynamic Range(检查动态系统范围); • Check Dynamic Lower Bound(检查动态系统低段范围) • Check Static Range(检查静态系统范围); • Check Input Resolution (检查输入分辨率); • DocBlock(模块注释文本); • Model Info(模型信息); • Timed-Based Linearization(基于时间的线性化模型)

Simulink控制系统建模与仿真

Simulink控制系统建模与仿真

变量延迟模块
Variable Transport Delay
与可变时间延迟模块相似。 7
非连续模块组(Discontinuities)
8
非连续模块组的模块及功能介绍
名称
饱和模块 Saturation
死区模块 Dead Zone 动态死区模块 Dead Zone Dynamic 磁滞回环模块 Backlash 滞环继电模块
10
离散模块组的模块及功能介绍
名称
单位延迟模块 Unit Delay
离散时间积分模块 Discrete-Time Integrator
形状
功能介绍
实现Z域单位延迟,等同于离散时间算 子z-1。
实现离散时间变量积分。
离散传递函数模块 Discrete Transfer Fcn
实现脉冲传递函数模型。
离散滤波器模块 Discrete Filter
脉冲信号输出。
斜坡信号输出。
正弦波信号输出。
阶跃信号输出。
随机数输出。
连续仿真时钟;在每一仿真步输 出当前仿真时间。 离散仿真时钟;在指定的采样间 隔内输出仿真时间。
16
信宿模块组(Sinks)
17
信宿模块组的模块及功能介绍
名称
输出端口模块 Out1
示波器模块 Scope
X-Y示波器模块 XY Graph
第五章 Simulink的控制系统建模 与仿真
本节基于MATLAB 7.1版本, Simulink 6.3版本详细介绍Simulink在控
制系统中的建模与仿真方法。
1
5.1 Simulink模块库
图5.1.1 Simulink启动界面
2
常用模块组(Commonly Used Blocks)

第九章 状态空间分析方法 matlab simulink与控制系统仿真 第三版 课件

第九章 状态空间分析方法 matlab simulink与控制系统仿真 第三版 课件
0
用 e At 左乘上式两边
t
x(t)eAtx(0) eA(t)B(u )d (9-54)
0
则式(9-54)可以写成
t
x (t) Φ (t)x (0 ) (t)B u ()d (9-55) 0
41
讨论非齐次状态方程的拉氏变换解法
s x (s ) x 0 A (s ) x B s u x ( s ) ( s I A ) 1 x 0 ( s I A ) 1 B s u
(4) [ (t)]k (kt)
32
性质3
图9-8 状态转移特性
33
例9-5
设系统的状态方程为
x1 x2
0 0
1 0
x1 x2
试求状态转移矩阵。
34
解:
求状态转移矩阵为
(t) e A t I A t 1A 2 t21A k tk
2 !
k !
其中
0 A 0
1 0
, A2
A3
I A A2
Ak
s s2 s3 sk1
30
最终得到
x(t)eAtx(0) (t)x(0)
(9-41)
式中
teA t expA t
• 与前一种解法所得结果一致。
31
状态转移矩阵具有以下性质:
(1) (0)I
(2) 1(t)(t) ( 3 ) ( t 2 t 1 ) ( t 1 t 0 ) ( t 2 t 0 )
0
0
1
0
0 0
x
,
A
,
B
xn
0 0 0 1 a0 a1 a2 an1
0
(9-19)
15
系统结构图如图所示

Simulink建模和仿真(基础版)

Simulink建模和仿真(基础版)

第七章Simulink建模和仿真
7.1 Simulink的概述和基本操作




① 首先,按照排序所决定的次序计算每个模块的输出。 ② 然后,根据当前时刻的输入和状态来决定状态的微分; 得到微分向量后再把它返回给解法器;后者用来计算下一 个采样点的状态向量。一旦新的状态向量计算完毕,被采 样的数据源模块和接受模块才被更新。 在仿真开始时模型设定待仿真系统的初始状态和输出。在 每一个时间步中,Simulink计算系统的输入、状态和输出, 并更新模型来反映计算出的值。在仿真结束时,模型得出 系统的输入、状态和输出。 在每个时间步中,Simulink所采取的动作依次为: ① 按排列好的次序更新模型中模块的输出。Simulink通过 调用模块的输出函数计算模块的输出。Simulink只把当前 值、模块的输入以及状态量传给这些函数计算模块的输出。 对于离散系统,Simulink只有在当前时间是模块采样时间 的整数倍时,才会更新模块的输出。
第七章 Simulink建模和仿真 7.1 Simulink的概述和基本操作 7.1.2 基本操作 一、模型基本结构 一个典型的Simulink模型包括如下三种类型的元素: ① 信号源模块 ② 被模拟的系统模块 ③ 输出显示模块 如图7.1.1所示说明了这三种元素之间的典型关系。系统 模块作为中心模块是Simulink仿真建模所要解决的主要部分; 信号源为系统的输入,它包括常数信号源函数信号发生器 (如正弦和阶跃函数波等)和用户自己在Matlab中创建的自 定义信号或Matlab工作间中三种。输出模块主要在Sinks库 中。
第七章
Simulink建模和仿真
7.1 Simulimulink也不是封闭的,他允许用户可 以很方便的定制自己的模块和模块库。同时Simulink也 同样有比较完整的帮助系统,使用户可以随时找到对应 模块的说明,便于应用。 综上所述,Simulink就是一种开放性的,用来模拟线性 或非线性的以及连续或离散的或者两者混合的动态系统 的强有力的系统级仿真工具。 目前,随着软件的升级换代,在软硬件的接口方面有了 长足的进步,使用Simulink可以很方便地进行实时的信 号控制和处理、信息通信以及DSP的处理。世界上许多 知名的大公司已经使用Simulink作为他们产品设计和开 发的强有力工具。

Simulink动态系统建模与仿真第5章

Simulink动态系统建模与仿真第5章

第5章 Simulink仿真设置
定步长连续算法可以用来处理包含连续状态和离散状态 的模型。从理论上来说,定步长连续算法也能够处理包含非 连续状态的模型,但是,这会增加仿真计算时的不必要开销。 因此,若模型中没有状态或只有离散状态,则即使选择了定 步长连续算法,Simulink通常还会使用定步长离散算法进行 求解。
首先选择需要设置仿真参数的模型,然后在模型窗口的 Simulation菜单下选择Configuration Parameters命令,打开 Configuration Parameters对话框,如图5-1所示。
第5章 Simulink仿真设置
在Configuration Parameters对话框内用户可以根据自 己的需要进行参数设置。当然,除了设置参数值外,也可以 把参数指定为有效的MATLAB表达式,这个表达式可以由 常值、工作区变量名、MATLAB函数以及各种数学运算符 号组成。参数设置完毕后,可以单击Apply按钮应用设置, 或者单击OK按钮关闭对话框。如果需要的话,也可以保存 模型,以保存所设置的模型仿真参数。
第5章 Simulink仿真设置
定步长连续算法; 变步长连续算法; 定步长离散算法; 变步长离散算法。
第5章 Simulink仿真设置
1. 定步长连续算法 这种算法在仿真时间段(由起始时间到终止时间)内以等 间隔时间步来计算模型的连续状态。它使用数值积分算法计 算系统的连续状态,每个算法使用不同的积分方法,用户可 以根据需要选择最适合自己模型的算法,当然,这需要了解 不同积分算法之间的优缺点。使用定步长连续算法进行仿真 的仿真结果的准确度和仿真时间取决于仿真步长的大小,仿 真步长越小,结果越准确,仿真步长越大,仿真时间也就越 长。
第5章 Simulink仿真设置 5.2.1 设置仿真时间

SIMULINK仿真方法简介

SIMULINK仿真方法简介

SIMULINK仿真方法简介SIMULINK是一个进行动态系统的建模、仿真和综合分析的集成软件包.它可以处理的系统包括:线性、非线性系统;离散、连续及混合系统;单任务、多任务离散事件系统。

在SIMULINK提供的图形用户界面GUI上,只要进行鼠标的简单拖拉操作就可以构造出复杂的仿真模型。

它的外表以方框图形式呈现,且采用分层结构。

从建模角度,SIMULINK既适用于自上而下的设计流程,又适用于自下而上的逆程设计.从分析研究角度,这种SIMULINK模型不仅让用户知道具体环节的动态细节,而且能够让用户清晰的了解各器件、各子系统、各系统间的信息交换,掌握各部分的交互影响。

1。

应用SIMULINK的基本操作1)在MATLAB的命令窗运行指令simulink或点击命令窗口中的图标,便可以打开如图B1-2所示的SIMULINK模块库浏览器(Simulink Library Browser).图B1—2 SIMULINK库浏览器2)点击Source字库前的“+”号(或双击字库名),便可以得到各种信源模块,如图B1-3。

图B1—3 信源子库的模块3)点击“新建”图标,打开一个名为untitled的空白模型窗口,如图B1—4.图B1-4 SIMULINK的新建模型窗口4)用鼠标指向所需的信号源(如阶跃信号Step),按下鼠标左键,把它拖至untitled窗,就生成一个阶跃信号的复制品.,如图B1—5.图B1—5模型创建中的模型窗口5)采用上述方法,将信宿库Sink中的示波器scope拷贝到模型窗口,把鼠标指向信源右侧的输出端,当光标变成十字符时,按住鼠标任意键,移向示波器的输入端,就完成了两个模块间的信号连接,如图B1-6。

图B1—6 创建模型完毕中的模型窗口6)进行仿真,双击示波器,打开示波器显示屏,如图1-7。

点击模型窗口中的“仿真启动”图标或点击simulink菜单下的start,仿真就开始了,就可以观测到阶跃信号的波形了,如图B1-7。

第七章Simulink仿真案例

第七章Simulink仿真案例

7.1 Simulink基础
• 1.启动Simulink的两种方法: • a.通过点击工具栏 “ ” 图标启动; • b.在MATLAB命令窗口输入simulink然后点 击回车键启动。 • 打开的Simulink Library Browser
2. Simulink模块库浏览器
名称 Commonly Used Blocks Continuous Discontinuities Discrete Logic and Bit Operations Lookup Tables Math Operations Model Verification Model-Wide Utilities Ports & Subsystems Signal Attributes Signal Routing Sinks Sources User-Defined Functions Additional Math & Discrete 描述
• 通过Subsystem模块创建子系统,可以按照下面 步骤: • (1) 打开Simulink模块库,将Ports & Sybsystems 模块库中Subsystem模块拖入模型窗口; • (2) 双击Subsystem模块,打开Subsystem窗口; • (3) 把要组合的模块拖入Subsystem窗口内,然后 在窗口中加入Inport模块表示从子系统外部到内部 的输入,加入Output模块表示从子系统内部到外 部的输出,把这些模块按顺序连接起来,子系统 建立。
• 例7.9 PID控制器是在自动控制中经常使用的模块 ,在工程应用中其标准的数字模型为
U (s) K p (1 Td s 1 ) E ( s) Ti s 1 Td s / N

动态系统Simulink建模与仿真PPT教案学习

动态系统Simulink建模与仿真PPT教案学习

✓ 量化模块(Quantizer):用于输入信号的量化处理。
✓ 穿越值检测模块(Hit Crossing):
✓ 库仑与黏性摩擦(Coulomb & Viscous Friction):
✓ 返回零模块(Wrap to Zero)
在零值为不连续点,在其它 值为连续线性增益。
当输入信号值超过设定的极限值 (Threshold),输出信号返回到 零值。
第3页/共68页
Model-Wide Utility, Ports & Subsystems(接口与子系统模块库), Signal Attributes(信号属性模块库) Signal Routing(信号路由模块库) Sinks(输出模块库) Sources(信号源模块库) User-Defined Functions(用户自定义模块库) Additional Math & Discrete (附加数学和离散系统模块库)
第16页/共68页
将各子模块连接起来后,构成如图所示的系统模型
第17页/共68页
7.2.2 Simulink仿真模型参数设置
1.基本模块参数设置 在完成模块的信号线连接并建立起系统的Simulink仿真模型后,需要设置模块 的参数。在Simulink模型里,双击需要修改参数的模块,弹出参数设置对话框。
。 (3)单击MATLAB主窗口工具栏里的工具
图7-1 Simulink窗口界面
第2页/共68页
2 Simulink模块库组件
Simulink7.1模块库共包 含16个 子模块 库,它 们是:
Commonly Used Blocks(常用模块库) Continuous(连续系统模块库) Discontinuous(非连续系统模块库) Discrete(离散系统模块库) Logic and Bit Operations(逻辑与位操作模块库) Lookup Tables(查询表模块库) Math Operations(数学操作模块库) Model Verification(模型验证模块库)
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

考虑以下系统u x X ⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡+⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡-----=102101110221[]xy 001=对系统设计一个状态反馈控制器使得闭环阶跃响应的超调量小于5%,且在稳态值1%范围的调节时间小于4.6S 。

○1主导二阶极点方法配置极点 分析:超调量小于5%,即%521≤--ξξπe算得69.0≥ξ稳态值1%范围的调节时间小于4.6S ,即6.46.4≤=σs t1≥σ下面首先对系统的能控性进行判断,以编程方式实现a=[-1 -2 -2;0 -1 1;1 0 -1];b=[2;0;1]; %输入a ,b 矩阵q=[b a*b a^2*b]rank(q)计算结果为⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡--=511010042qq 的秩为3因此该系统为完全能控型系统,在满足系统要求的前提下,理论上能任意配置期望极点下面根据具体的求解思路进行编程求解反馈控制器kg=poly(a); %求原系统的特征方程a2=g(2);a1=g(3);a0=g(4);w=[1 0 0;a2 1 0;a1 a2 1];q1=[a^2*b a*b b];p=q1*w; %求解转换矩阵deta=1;zeta=0.75;wn=deta/zeta; %输入满足条件的ζ和δden=conv([1 4],[1 2*deta wn^2]); %输入期望极点(-4,-1±0.88i ) aa2=den(2);aa1=den(3);aa0=den(4);k=[aa0-a0 aa1-a1 aa2-a2];k1=k*(inv(p)) %输出配置矩阵k得到[]0444.06444.14778.11=k下面对系统进行验证,是否满足条件ahat=a-b*k1;bhat=b;chat=[1 0 0];dhat=0;sys=ss(ahat,bhat,chat,dhat);step(sys,'r');sys1=ss(a,b,c,d);hold on;grid on; step(sys1,'.-');(其中sys1为未加控制器的原系统)由图可知,系统在进行配置之前并未满足系统要求,在增加控制器之后,系统要求得到满足。

○2对称根轨迹(SRL )方法配置极点 将SRL 方程写成标准的根轨迹形式0)()()()(1=--+s D s D s N s N ρ 由此,我们需要先将上面的状态空间形式转换为传递函数形式,编程实现如下: a=[-1 -2 -2;0 -1 1;1 0 -1];b=[2;0;1];c=[1 0 0];d=0;[num,den]=ss2tf(a,b,c,d)num=[ 0 2.0000 2.0000 -2.0000]den=[1.0000 3.0000 5.0000 5.0000]下面再画出根轨迹图,寻找满足条件的ρnum1=conv([2 2 -2],[2 -2 -2]); %此处计算的参数根据num(s)和num (-s) den1=conv([1 3 5 5],[-1 3 -5 5]); %此处计算的参数根据den(s)和den (-s) sys1=tf(num1,den1);rlocus(sys1); %画根轨迹图grid on;根据系统要求69.0≥ξ 和 1≥σ如图所示,配置的极点将满足系统要求,现选取两组进行验证1.ρ=2p1=[-2.09 -1.42+0.845*1i -1.42-0.845*1i];k1=acker(a,b,p1)得k1=[0.7079 0.1931 0.5143]如上题所写程序画出响应图(其中sys1为未加控制器的原系统)2.ρ=3得k1=[0.9271 0.2769 0.6857]作出响应图如下(其中sys1为未加控制器的原系统)将两个不同的ρ值阶跃响应图进行对比(sys2为ρ=3,sys为ρ=2)有比较可知:较小的ρ值的响应速度较慢,较大的ρ值响应速度快。

○3全阶观测器的设计 首先检验系统的是否完全能观a=[-1 -2 -2;0 -1 1;1 0 -1];c=[1 0 0];q=[c;c*a;c*a*a]rank(q)⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡----=241221001qrank(q)=3说明系统是完全能观的下面就是观测器期望极点选择,一般为了考虑观测器的响应速度要比闭环系统快,又要考虑干扰抑制,一般极点为闭环极点的2---5倍。

根据主导二阶极点方法所配置的极点为s1=-4 s2,3=-1±0.88i选择观测器极点为s1=-12 s2,3=-3±0.88i由此可进一步求出观测器增益矩阵la=[-1 -2 -2;0 -1 1;1 0 -1];c=[1 0 0];pe=[-12;-3+0.88*i;-3-0.88*i];lt=acker(a',c',pe);l=lt'求得l=[15;1.872;-25.2592];可得全维观测器的方程为yu x ly bu x lc bk a x ⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡-+⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡+⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡--------=++--=2592.25872.115102~0444.16444.17814.2411872.10888.22888.59556.18~)(~下面可依据上式构建simulink 图,据此观察观测器的跟踪能力跟踪效果图如下X1X2X3据此发现观测器跟踪效果较好。

○4降阶控制系统设计 从输出方程可以看出,此系统输出就等于第一个状态,即变换矩阵P 为单位阵,而最小阶观测器的阶次为2。

d d c cb ba a====最小阶观测器的期望特征根选为-3±0.88i⎥⎦⎤⎢⎣⎡=-=1021111a a []⎥⎦⎤⎢⎣⎡--=--=1011222212a a ⎥⎦⎤⎢⎣⎡==10221b b ]00[211==c c y l u b l b y a l a x a l a x q n q n +-+-+-=--)12()1121()1222(~ 据此求观测器增益a22=[-1 1;0 -1];a12=[-2 -2];pe=[-3+1i*2*7^(1/2)/3;-3-1i*2*7^(1/2)/3];lt=acker(a22',a12',pe);l=lt'求得⎥⎦⎤⎢⎣⎡-=5556.35556.1l得到y u y x x q n q n ⎥⎦⎤⎢⎣⎡-+⎥⎦⎤⎢⎣⎡-+⎥⎦⎤⎢⎣⎡-+⎥⎦⎤⎢⎣⎡--=--5556.35556.11112.81112.35556.25556.1~1112.81112.71112.41112.2~引入中间变量 y x ly x q n q n ⎥⎦⎤⎢⎣⎡--=-=--5556.35556.1~~η得最小阶观测器的状态方程为u y ⎥⎦⎤⎢⎣⎡-+⎥⎦⎤⎢⎣⎡-+⎥⎦⎤⎢⎣⎡--=1112.81112.32224.15778.91112.81112.71112.41112.2ηη⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡++=y y y x 42~21ηη下面可依据上式构建simulink 图,据此观察观测器的跟踪能力 X2X3由上面可见,观测器跟踪能力较好。

○5带反馈观测系统的设计 由分离定理可知,观测器与反馈可单独设计,互不影响。

反馈[]0444.06444.14778.1=kl=[15;1.872;-25.2592]lcx bv x bk lc a x ++--=~)(~下面可依据上式构建simulink 图,据此观察观测器的跟踪能力其中Gain7为增益调整设计a=[-1 -2 -2;0 -1 1;1 0 -1];b=[2;0;1];k1=[1.4778 1.6444 0.0444];y=a-b*k1;c=[1 0 0];d=0;k=1/dcgain(y,b,c,d)k=-3.5554或使用书本上的参考输入法计算k⎥⎦⎤⎢⎣⎡⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎣⎡-----=⎥⎦⎤⎢⎣⎡-1000011101011022211u x N N ⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡--=-=5.15.115.2X U N N 5554.3=+=X U KN N N结果相同下面看一下系统输出对阶跃的跟踪曲线一开始出现较大误差,但还是能跟踪上阶跃。

下面再看看系统对白噪声干扰的抑制能力由上图可见,系统的抗干扰能力一般。

○6积分控制器的设计 积分控制相当于增加了额外状态,状态方程变为ω⎥⎦⎤⎢⎣⎡+⎥⎦⎤⎢⎣⎡-⎥⎦⎤⎢⎣⎡+⎥⎦⎤⎢⎣⎡⎥⎦⎤⎢⎣⎡=⎥⎦⎤⎢⎣⎡b r u b x x a c x x i i 001000 由题意可知原系统可等价于r u x x x x i i ⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎣⎡-⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎣⎡+⎥⎦⎤⎢⎣⎡⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎣⎡-----=⎥⎦⎤⎢⎣⎡000110201010110022100010 积分控制器的极点配置为s1=-12 s2,3=-3±0.88i s4=-4利用编程求出ka=[0 1 0 0;0 -1 -2 -2;0 0 -1 1;0 1 0 -1];>> b=[0;2;0;1];>> pe=[-12;-3+0.88*i;-3-0.88*i;-4];>> k=acker(a,b,pe)K=[-234.5856 -77.4275 77.3805 173.8550]构建simulink图有分别加入两个阶跃,先加step1,阶跃图有再加入step,响应图有在一起加step和step1,响应如图由此可见,积分控制系统对于干扰有很好的抑制作用,并且具有很好的跟踪效果,动态特性也相对于简单的参考输入设计有了一定的改善。

总结从以上的设计可总结出状态空间的控制器的设计思路。

1.首先对观测器的能观性与能控性进行判断;2.如果完全能观或能控,则进行以下分析;如果不是,可以进行能控与能观分解出来;3.如果使用原系统状态反馈,可以根据系统要求进行极点配置,进而设计出控制器;如果还需要设计观测器,可合理配置观测器极点,进而设计整个系统。

4.如果使用观测器状态反馈,由于分离定理,观测器与反馈可分别设计,所以设计过程基本和上面一样;5.对于以上系统都存在较大的余差,故需设计参考输入,或者采取积分控制器都可以很好的消除稳态余差。

相关文档
最新文档