控制系统MATLAB仿真基础
- 格式:pdf
- 大小:627.86 KB
- 文档页数:28
控制系统仿真[教学目的]掌握数字仿真基本原理控制系统的数学模型建立掌握控制系统分析[教学内容]一、控制系统的数学模型sys=tf(num,den) %多项式模型,num为分子多项式的系数向量,den为分母多项式的系%数向量,函数tf()创建一个TF模型对象。
sys=zpk(z,p,k) %z为系统的零点向量,p为系统的极点向量,k为增益值,函数zpk()创建一个ZPK模型对象。
(一)控制系统的参数模型1、TF模型传递函数num=[b m b m-1 b m-2…b1 b0]den=[a m a m-1 a m-2…a1 a0]sys=tf(num,den)【例1】系统的传递函数为。
>>num=[0 1 12 44 48];>>den=[1 16 86 176 105];>>sys=tf(num,den);>>sysTransfer function:s^3 + 12 s^2 + 44 s + 48-------------------------------------s^4 + 16 s^3 + 86 s^2 + 176 s + 105>>get(sys)>>set(sys)>>set(sys,'num',[2 1 2])>> sysTransfer function:2 s^2 + s + 2-------------------------------------s^4 + 16 s^3 + 86 s^2 + 176 s + 105【例2】系统的传递函数为。
>>num=conv([20],[1 1]);>>numnum =20 20>>den=conv([1 0 0],conv([1 2],[1 6 10]));>>sys=tf(num,den)Transfer function:20 s + 20-------------------------------s^5 + 8 s^4 + 22 s^3 + 20 s^2【例3】系统的开环传递函数为,写出单位负反馈时闭环传递函数的TF模型。
基于MATLAB控制系统的仿真与应用毕业设计论文目录一、内容概括 (2)1. 研究背景和意义 (3)2. 国内外研究现状 (4)3. 研究目的和内容 (5)二、MATLAB控制系统仿真基础 (7)三、控制系统建模 (8)1. 控制系统模型概述 (10)2. MATLAB建模方法 (11)3. 系统模型的验证与校正 (12)四、控制系统性能分析 (14)1. 稳定性分析 (14)2. 响应性能分析 (16)3. 误差性能分析 (17)五、基于MATLAB控制系统的设计与应用实例分析 (19)1. 控制系统设计要求与方案选择 (20)2. 基于MATLAB的控制系统设计流程 (22)3. 实例一 (23)4. 实例二 (25)六、优化算法在控制系统中的应用及MATLAB实现 (26)1. 优化算法概述及其在控制系统中的应用价值 (28)2. 优化算法介绍及MATLAB实现方法 (29)3. 基于MATLAB的优化算法在控制系统中的实践应用案例及分析对比研究31一、内容概括本论文旨在探讨基于MATLAB控制系统的仿真与应用,通过对控制系统进行深入的理论分析和实际应用研究,提出一种有效的控制系统设计方案,并通过实验验证其正确性和有效性。
本文对控制系统的基本理论进行了详细的阐述,包括控制系统的定义、分类、性能指标以及设计方法。
我们以一个具体的控制系统为例,对其进行分析和设计。
在这个过程中,我们运用MATLAB软件作为主要的仿真工具,对控制系统的稳定性、动态响应、鲁棒性等方面进行了全面的仿真分析。
在完成理论分析和实际设计之后,我们进一步研究了基于MATLAB 的控制系统仿真方法。
通过对仿真模型的建立、仿真参数的选择以及仿真结果的分析,我们提出了一种高效的仿真策略。
我们将所设计的控制系统应用于实际场景中,通过实验数据验证了所提出方案的有效性和可行性。
本论文通过理论与实践相结合的方法,深入探讨了基于MATLAB 控制系统的仿真与应用。
基于MATLAB自动控制系统时域频域分析与仿真MATLAB是一款强大的数学软件,也是自动控制系统设计的常用工具。
它不仅可以进行时域分析和频域分析,还可以进行相关仿真实验。
本文将详细介绍MATLAB如何进行自动控制系统的时域和频域分析,以及如何进行仿真实验。
一、时域分析时域分析是指对系统的输入信号和输出信号进行时域上的观察和分析,以了解系统的动态特性和稳定性。
MATLAB提供了一系列的时域分析工具,如时域响应分析、稳态分析和步骤响应分析等。
1.时域响应分析通过时域响应分析,可以观察系统对于不同的输入信号的响应情况。
在MATLAB中,可以使用`lsim`函数进行系统的时域仿真。
具体步骤如下:- 利用`tf`函数或`ss`函数创建系统模型。
-定义输入信号。
- 使用`lsim`函数进行时域仿真,并绘制系统输出信号。
例如,假设我们有一个二阶传递函数模型,并且输入信号为一个单位阶跃函数,可以通过以下代码进行时域仿真:```num = [1];den = [1, 1, 1];sys = tf(num, den);t=0:0.1:10;u = ones(size(t));[y, t, x] = lsim(sys, u, t);plot(t, y)```上述代码中,`num`和`den`分别表示系统的分子和分母多项式系数,`sys`表示系统模型,`t`表示时间序列,`u`表示输入信号,`y`表示输出信号。
通过绘制输出信号与时间的关系,可以观察到系统的响应情况。
2.稳态分析稳态分析用于研究系统在稳态下的性能指标,如稳态误差和稳态标准差。
在MATLAB中,可以使用`step`函数进行稳态分析。
具体步骤如下:- 利用`tf`函数或`ss`函数创建系统模型。
- 使用`step`函数进行稳态分析,并绘制系统的阶跃响应曲线。
例如,假设我们有一个一阶传递函数模型,可以通过以下代码进行稳态分析:```num = [1];den = [1, 1];sys = tf(num, den);step(sys)```通过绘制系统的阶跃响应曲线,我们可以观察到系统的稳态特性。
MATLAB/Simulink与控制系统仿真实验报告姓名:喻彬彬学号:K031541725实验1、MATLAB/Simulink 仿真基础及控制系统模型的建立一、实验目的1、掌握MATLAB/Simulink 仿真的基本知识;2、熟练应用MATLAB 软件建立控制系统模型。
二、实验设备电脑一台;MATLAB 仿真软件一个三、实验内容1、熟悉MATLAB/Smulink 仿真软件。
2、一个单位负反馈二阶系统,其开环传递函数为210()3G s s s =+。
用Simulink 建立该控制系统模型,用示波器观察模型的阶跃响应曲线,并将阶跃响应曲线导入到MATLAB 的工作空间中,在命令窗口绘制该模型的阶跃响应曲线。
3、某控制系统的传递函数为()()()1()Y s G s X s G s =+,其中250()23s G s s s+=+。
用Simulink 建立该控制系统模型,用示波器观察模型的阶跃响应曲线,并将阶跃响应曲线导入到MATLAB 的工作空间中,在命令窗口绘制该模型的阶跃响应曲线。
4、一闭环系统结构如图所示,其中系统前向通道的传递函数为320.520()0.11220s G s s s s s+=+++,而且前向通道有一个[-0.2,0.5]的限幅环节,图中用N 表示,反馈通道的增益为1.5,系统为负反馈,阶跃输入经1.5倍的增益作用到系统。
用Simulink 建立该控制系统模型,用示波器观察模型的阶跃响应曲线,并将阶跃响应曲线导入到MATLAB 的工作空间中,在命令窗口绘制该模型的阶跃响应曲线。
四、实验报告要求实验报告撰写应包括实验名称、实验内容、实验要求、实验步骤、实验结果及分析和实验体会。
五、实验思考题总结仿真模型构建及调试过程中的心得体会。
题1、(1)利用Simulink的Library窗口中的【File】→【New】,打开一个新的模型窗口。
(2)分别从信号源库(Sourse)、输出方式库(Sink)、数学运算库(Math)、连续系统库(Continuous)中,用鼠标把阶跃信号发生器(Step)、示波器(Scope)、传递函数(Transfern Fcn)和相加器(Sum)4个标准功能模块选中,并将其拖至模型窗口。
如何使用Matlab进行控制系统仿真概述控制系统在工程领域中扮演着重要角色,它用于控制和管理各种工程过程和设备。
而控制系统仿真则是设计、开发和测试控制系统的关键环节之一。
Matlab作为一种功能强大的工程计算软件,提供了丰富的工具和功能,可以帮助工程师进行控制系统仿真。
本文将简要介绍如何使用Matlab进行控制系统仿真,以及一些实用的技巧和建议。
1. Matlab的基础知识在开始控制系统仿真之前,有一些Matlab的基础知识是必要的。
首先,了解Matlab的基本语法和命令,熟悉Matlab的工作环境和编辑器。
其次,学会使用Matlab的集成开发环境(IDE)进行编程和数学建模。
熟悉Matlab的常用函数和工具箱,并了解如何在Matlab中导入和导出数据。
2. 定义系统模型在进行控制系统仿真之前,需要定义系统的数学模型。
根据具体情况选择合适的建模方法,如传递函数、状态空间或差分方程等。
在Matlab中,可以使用tf、ss 或zpk等函数来创建系统模型,并指定系统的参数和输入信号。
此外,Matlab还提供了Simulink这一强大的图形化建模环境,方便用户以图形化界面设计系统模型。
3. 设计控制器控制系统仿真的关键是设计合适的控制器,以实现所需的控制目标。
Matlab提供了各种控制器设计方法和工具,如PID控制器、根轨迹法、频域方法等。
用户可以使用Matlab的Control System Toolbox来设计和分析控制器,并在仿真中进行验证。
此外,Matlab还支持自适应控制和模糊控制等高级控制方法,可根据具体需求选择合适的方法。
4. 进行仿真实验在完成系统模型和控制器设计后,可以开始进行控制系统仿真实验。
首先,确定仿真实验的输入信号,如阶跃信号、正弦信号或随机信号等。
然后,使用Matlab中的sim函数将输入信号应用到系统模型中,并观察系统的输出响应。
通过调整控制器参数或设计不同的控制器,分析系统的性能和稳定性,并优化控制器的设计。
Mat1ab技术控制系统设计与仿真一、引言在现代科技领域中,控制系统是一个至关重要的概念。
在各种领域,如机械工程、电子工程、化工工程等,控制系统的设计和仿真是实现目标的关键。
而Mat1ab作为一种功能强大的数值计算软件,被广泛应用于控制系统设计和仿真。
本文将探讨MaHab技术在控制系统设计和仿真中的应用。
二、MatIab基础知识在开始探讨MatIab技术在控制系统设计和仿真中的应用之前,有必要先了解一些Mat1ab的基础知识。
Mat1ab是由MathWorks公司开发的一款用于数值计算和科学绘图的软件。
它提供了丰富的函数库和工具箱,能够满足各种数学和工程领域的需求。
Mauab的核心功能包括数值计算、数据分析、图形绘制和算法开发等。
通过Mat1ab,用户可以进行复杂的矩阵运算、符号计算、非线性优化和差分方程求解等操作。
此外,MaUab还具有强大的数据分析功能,能够进行统计分析、数据可视化和模型拟合等操作。
三、控制系统设计控制系统设计是指通过控制器和执行器对系统进行控制的过程。
Mat1ab提供了一系列用于控制系统设计的工具箱,如Contro1SystemToo1box和Simu1ink等。
Contro1SystemToo1box是Mat1ab中用于控制系统分析和设计的工具箱。
它包含了各种用于系统建模、控制器设计和仿真的函数和工具。
例如,用户可以使用TransferFunction对象来描述系统的传输函数,并使用该对象进行稳定性分析和控制器设计。
此外,COntrOISyStemTOOIbOX还提供了多种控制器设计方法,如根轨迹法、频域法和状态空间法等,可以满足不同系统的设计需求。
SimUIink是MatIab中的一个仿真工具,用于建立动态系统的模型和仿真。
通过Simu1ink,用户可以使用图形界面建立系统的模型,并使用各种模块来描述系统的构成和行为。
SimU1ink提供了广泛的预定义模块,包括传感器、执行器、控制器等。
实验一MATLAB 仿真基础一、实验目的:(1)熟悉MATLAB 实验环境,掌握MATLAB 命令窗口的基本操作。
(2)掌握MATLAB 建立控制系统数学模型的命令及模型相互转换的方法。
(3)掌握使用MATLAB 命令化简模型基本连接的方法。
(4)学会使用Simulink 模型结构图化简复杂控制系统模型的方法。
二、实验设备和仪器 1.计算机;2. MATLAB 软件 三、实验原理函数tf ( ) 来建立控制系统的传递函数模型,用函数printsys ( ) 来输出控制系统的函数,用函数命令zpk ( ) 来建立系统的零极点增益模型,其函数调用格式为:sys = zpk ( z, p, k )零极点模型转换为多项式模型[num , den] = zp2tf ( z, p, k ) 多项式模型转化为零极点模型 [z , p , k] = tf2zp ( num, den )两个环节反馈连接后,其等效传递函数可用feedback ( ) 函数求得。
则feedback ()函数调用格式为: sys = feedback (sys1, sys2, sign ) 其中sign 是反馈极性,sign 缺省时,默认为负反馈,sign =-1;正反馈时,sign =1;单位反馈时,sys2=1,且不能省略。
四、实验内容:1.已知系统传递函数,建立传递函数模型2.已知系统传递函数,建立零极点增益模型3.将多项式模型转化为零极点模型12s 2s s 3s (s)23++++=G )12()1()76()2(5)(3322++++++=s s s s s s s s G 12s 2s s 3s (s)23++++=G )12()1()76()2(5)(3322++++++=s s s s s s s s G4. 已知系统前向通道的传递函数反馈通道的传递函数求负反馈闭环传递函数5、用系统Simulink 模型结构图化简控制系统模型 已知系统结构图,求系统闭环传递函数 。
《MATLAB与控制系统仿真》实验指导书(2011年第一版)西安邮电学院自动化学院2011年6月目录前言 (1)MATLAB语言实验项目 (3)实验一熟悉MATLAB集成环境与基础运算 (3)实验二 MATLAB的基本计算 (7)实验三 MATLAB图形系统 (9)实验四 MATLAB程序设计 (13)实验五 MATLAB函数文件 (15)实验六MATLAB数据处理与多项式计算 (17)实验七 SIMULINK仿真实验 (21)前言MATLAB 产品家族是美国 MathWorks公司开发的用于概念设计、算法开发、建模仿真、实时实现的理想的集成环境。
是矩阵实验室(Matrix Laboratory)的简称,是美国MathWorks公司出品的商业数学软件,用于算法开发、数据可视化、数据分析以及数值计算的高级技术计算语言和交互式环境,主要包括MATLAB和SIMULINK两大部分。
MATLAB由于其完整的专业体系和先进的设计开发思路,使得 MATLAB 在多种领域都有广阔的应用空间,特别是在科学计算、建模仿真以及系统工程的设计开发上已经成为行业内的首选设计工具,它将数值分析、矩阵计算、科学数据可视化以及非线性动态系统的建模和仿真等诸多强大功能集成在一个易于使用的视窗环境中,为科学研究、工程设计以及必须进行有效数值计算的众多科学领域提供了一种全面的解决方案,并在很大程度上摆脱了传统非交互式程序设计语言(如C、Fortran)的编辑模式,代表了当今国际科学计算软件的先进水平。
MATLAB软件工具在自动化专业、测控技术与仪器和电气工程及其自动化等专业的本科生学习中,经常用来计算、仿真和设计,尤其是MATLAB软件的仿真功能,能使学生对所学知识有更加深入的理解和分析。
《MATLAB与控制系统仿真》课程,和《自动控制原理》、《现代控制理论》、《数字信号处理》、《电力电子技术》等重要的专业课程相互支撑、相辅相成,同时也有利于学生完成课程设计和毕业设计等实践教学环节。
《控制系统仿真技术》教案编者:赵磊机电与信息工程学院黄山学院控制系统仿真技术课程教案黄山学院_自动控制原理课程教案纸主要教学过程时间分配教学过程:第一讲 MATLAB基础1.1目的和意义1.2 MATLAB操作界面1)命令窗口(Command Window)MATLAB的所有函数和命令都可以在命令窗口中执行。
MATLAB命令窗口中的“>>”为命令提示符,表示MATLAB正在处于准备状态。
在命令提示符后键入命令(或语句)并按下回车键后,MATLAB就会解释执行所输入的命令,并在命令后面给出计算结果。
指令,然后按回车键,会出现什么结果?例:命令窗口输入cos(/3)2)历史命令窗口(Command History)默认设置下历史命令窗口会保留自安装时起所有命令的历史记录,并标明使用时间,以方便使用者的查询。
3) 当前目录窗口(Current Directory)在当前目录窗口中可显示或改变当前目录,还可以显示当前目录下的文件,包括文件名、文件类型、最后修改时间以及该文件的说明信息等并提供搜索功能。
4) 工作空间窗口(Workspace)工作空间在MATLAB运行期间一直存在,关闭MATLAB后自动消失,当运行MATLAB 程序时,程序中的变量将被加载到工作空间中。
在一个程序中的运算结果以变量的形式保存在工作空间后,在MATLAB关闭之前该变量还可以被别的程序调用。
在工作空间窗口中将显示所有目前保存在内存中的MATLAB变量的变量名、数据结构、字节数以及类型,而不同的变量类型分别对应不同的变量名图标。
用户可用命令对工作空间中的变量进行显示、删除或保存等操作。
【注意】:内存变量的查阅和删除命令who %查看工作空间中变量的名字whos %查看工作空间中变量的详细信息clear %删除工作空间中的所有变量clear a b %删除变量a,bsize(a) %变量的大小length(a) %求取变量的长度,返回最大维数例:运行下面MATLAB命令,并查看内存变量。
自动控制原理MATLAB仿真实验实验指导书电子信息工程教研室实验一典型环节的MA TLAB仿真一、实验目的1.熟悉MATLAB桌面和命令窗口,初步了解SIMULINK功能模块的使用方法。
2.通过观察典型环节在单位阶跃信号作用下的动态特性,加深对各典型环节响应曲线的理解。
3.定性了解各参数变化对典型环节动态特性的影响。
二、SIMULINK的使用MATLAB中SIMULINK是一个用来对动态系统进行建模、仿真和分析的软件包。
利用SIMULINK功能模块可以快速的建立控制系统的模型,进行仿真和调试。
1.运行MA TLAB软件,在命令窗口栏“>>”提示符下键入simulink命令,按Enter键或在工具栏单击按钮,即可进入如图1-1所示的SIMULINK仿真环境下。
2.选择File菜单下New下的Model命令,新建一个simulink仿真环境常规模板。
图1-1 SIMULINK仿真界面图1-2 系统方框图3.在simulink仿真环境下,创建所需要的系统。
以图1-2所示的系统为例,说明基本设计步骤如下:1)进入线性系统模块库,构建传递函数。
点击simulink下的“Continuous”,再将右边窗口中“Transfer Fen”的图标用左键拖至新建的“untitled”窗口。
2)改变模块参数。
在simulink仿真环境“untitled”窗口中双击该图标,即可改变传递函数。
其中方括号内的数字分别为传递函数的分子、分母各次幂由高到低的系数,数字之间用空格隔开;设置完成后,选择OK,即完成该模块的设置。
3)建立其它传递函数模块。
按照上述方法,在不同的simulink的模块库中,建立系统所需的传递函数模块。
例:比例环节用“Math”右边窗口“Gain”的图标。
4)选取阶跃信号输入函数。
用鼠标点击simulink下的“Source”,将右边窗口中“Step”图标用左键拖至新建的“untitled”窗口,形成一个阶跃函数输入模块。
系统仿真§ 4.1控制系统的数学模型1、传递函数模型(tranfer function)2、零极点增益模型(zero-pole-gain)3、状态空间模型(state-space)4、动态结构图(Simulink结构图)一、传递函数模型(transfer fcn-----tf)1、传递函数模型的形式传函定义:在零初始条件下,系统输出量的拉氏变换C(S)与输入量的拉氏变换R(S)之比。
C(S) b1S m+b2S m-1+…+b mG(S)=----------- =- --------------------------------R(S) a1S n + a2S n-1 +…+ a nnum(S)= ------------den(S)2、在MATLAB命令中的输入形式在MATLAB环境中,可直接用分子分母多项式系数构成的两个向量num、den表示系统: num = [b1, b2, ..., b m];den = [a1, a2, ..., a n];注:1)将系统的分子分母多项式的系数按降幂的方式以向量的形式输入两个变量,中间缺项的用0补齐,不能遗漏。
2)num、den是任意两个变量名,用户可以用其他任意的变量名来输入系数向量。
3)当系统种含有几个传函时,输入MATLAB命令状态下可用n1,d1;n2,d2…….。
4)给变量num,den赋值时用的是方括号;方括号内每个系数分隔开用空格或逗号;num,den方括号间用的是分号。
3、函数命令tf( )在MATLAB中,用函数命令tf( )来建立控制系统的传函模型,或者将零极点增益模型、状态空间模型转换为传函模型。
tf( )函数命令的调用格式为:圆括号中的逗号不能用空格来代替sys = tf ( num, den ) [G= tf ( num, den )]其中,函数的返回变量sys或G 为连续系统的传函模型;函数输入参量num和den分别为系统的分子分母多项式的系数向量。
s+5【例4-1】G(S)=---------------------------s4+2s3+3s2+4s+5解:num=[1,5];den=[1,2,3,4,5];G=tf(num,den)5【例4-2】G(S)=--------------------2s3+3s2+4s解: num=[5];den=[2 3 4 0];G=tf(num,den)★conv( )函数为标准的MATLAB函数,用来求取2个向量的卷积,多项式乘法也可用此函数来计算。
conv( )函数允许任意地多层嵌套,从而表示复杂的计算。
【例4-3】6(S+5)G(S)=-------------------------------------------(S2+3S+1)2(S+6)(S3+6S2+5S+3)解:num=6*[1,5];den=conv(conv(conv([1,3,1],[1,3,1]),[1,6]),[1,6,5,3]);G=tf(num,den)den=conv(conv(conv([1,6],[1,6,5,3]),[1,3 1]),[1,3,1]);二、零极点增益模型(zeropole----zpk)1、零极点增益模型形式(S-Z1)(S-Z2)…(S-Z m)G(S)= k -------------------------------(S-P1)(S-P2)…(S-P n)式中: k: 系统增益;z1,z2,…,z m: 系统零点;p1,p2,…,p n: 系统极点;注:对实系数的传函模型来说,系统的零极点或者为实数,或者以共轭复数的形式出现。
系统的传函模型给出以后,可以立即得出系统的零极点模型。
2、在MATLAB下的输入形式在MATLAB里,连续系统可直接用向量z、p、k构成的矢量组【z,p,k】表示系统,即:k=[k];z=[z1;z2;……;z m];p=[p1;p2;……;p n];3、函数命令zpk( )在MATLAB中,用函数命令zpk( )来建立控制系统的零极点增益模型,或者将传函模型或者状态空间模型转换为零极点增益模型。
zpk( )函数命令的调用格式为:sys = zpk ( z,p,k )【例4-4】6(S+1.9294)(S+0.0353±0.9287i)G(S)=----------------------------------------------------(S+0.9567±1.2272i)(S-0.0433±0.6412i)解:k = 6;z = [-1.9294;-0.0353+0.9287*i;-0.0353-0.9287*i];p = [-0.9567+1.2272*i;-0.9567-1.2272*i;+0.0433+0.6412*i;+0.0433-0.6412*i];G = zpk(z,p,k)三、状态空间模型 (state-space-----ss)1、状态空间模型的形式单变量线性的不变系统可以写成:X(t) = Ax(t)+Bu(t) A BG(S)= (1)Y(t) = Cx(t)+Du(t) C D式中,u,x,y分别为控制输入向量、状态向量、输出向量;A为状态矩阵,由控制对象的参数决定;B为控制矩阵;C为输出矩阵;D为直接传输矩阵。
A、B、C分别为列向量行向量,D为标量,2、在MATLAB下的输入形式在MATLAB中,连续系统可直接用矩阵组【A,B,C,D】表示系统。
A=[a11,a12,…,a1n;a21,a22,…a2n; … ;a n1,a n2,…,a nn];B=[b1;b2;……b n];C=[c1,c2,……c n];D=d;这样MALAB工作空间中的(A,B,C,D)则可表示式(1)式给出的系统状态方程模型。
注:MALAB下的(A,B,C,D)表示同样适合于多变量系统。
3、函数命令ss( )在MATLAB中,用函数命令ss( )来建立控制系统的状态空间模型,或者将传函模型、零极点增益模型的表达式转换为状态空间模型。
ss( )函数命令的调用格式为:ss(A,B,C,D)【例4-5】2.25 -5 -1.25 -0.5 4 6X= 2.25 -4.25 -1.25 -0.25 x + 2 4 u0.25 -0.5 -1.25 -1 2 21.25 -1.75 -0.25 -0.75 0 20 0 0 1 0 0Y = x + u0 2 0 2 0 0解:A=[2.25,-5,-1.25,-0.5;2.25,-4.25,-1.25,-0.25;0.25,-0.5,-1.25,-1;1.25,-1.75,-0.25,-0.75];B= [4,6;2,4;2,2;0,2];C= [0,0,0,1;0,2,0,2];D= zeros(2,2);G= ss(A,B,C,D)四、三种不同模型对象间的相互转换解决实际问题时,常常需要对自控系统的数学模型进行转换,因为他们彼此间都是等效的。
sys = tf (G)sys = zpk(G )sys = ss(G)【例4-6】设系统的零极点模型为:6(S+1.9294)(S+0.0353±0.9287i)G(S)=----------------------------------------------------(S+0.9567±1.2272i)(S-0.0433±0.6412i)试转化成等效的传函模型和状态空间模型。
解:k = 6;z = [-1.9294;-0.0353+0.9287*j;-0.0353-0.9287*j];p = [-0.9567+1.2272*j;-0.9567-1.2272*j;+0.0433+0.6412*j;+0.0433-0.6412*j];G = zpk(z,p,k);sys1= tf(G)sys2=ss(G)【例4-7】若系统的状态方程模型如下:0 1 0 0 0X= 0 0 -1 0 x+ 1 u Y = [ 1,0,0,0] x0 0 0 1 00 0 5 0 -2求系统的传函模型及零极点表达式。
解: A= [0,1,0,0;0,0,-1,0;0,0,0,1;0,0,5,0];B= [0;1;0;-2];C= [1,0,0,0];D= 0;G=ss(A,B,C,D);G1= tf(G)G2=zpk(G)五、SIMULINK模型窗口的动态结构图六、具有延迟环节数学模型的建立G(S)= e-TSpade(T,n):求延迟T的n阶逼近式。
可以绘制N阶pade逼近e-TS的单位阶跃响应曲线和对数相频特性曲线。
[num,den]=pade(T,n)可以返回N阶传递函数的LIT模型来逼近e-TS。
其中,行向量num和den分别是传递函数的分子分母多项式系数和分母多项式,并按降幂排列。
【例】试在matlab命令窗口建立输入下述传递函数:e-S(10S+1)(5S+1)G(S)=解:num1=1;den1=conv([10,1],[5,1]);g1=tf(num1,den1);[num2,den2]=pade(1,10);g2=tf(num2,den2);g12=g1*g2§ 4.2环节方框图形的化简一、环节串联连接的化简→ G1 → G2 →series( ):函数命令可以将两个环节串联连接进行等效化简,它既适用于连续时间系统,也适用于离散时间系统。
如果已知两个环节的传函分别为:G1(S) =G2(S) =则两个环节串联连接的等效变换传函:G(S)=G1(S)G2(S) ==使用series( )函数命令,不必做多项式的乘除运算即可实现2个环节传函(sys1与sys2)串联连接即实现等效传函的运算。
如果 sys1 = tf(num1,den1),sys2 = tf(num2,den2)其命令格式:sys=series(sys1,sys2)。
sys = series( sys1,sys2,…,sysn) sys=sys1*sys2*……*sysn【例4-8】已知双环调速系统电流环内前向通道三个模块的传函为G1(S)=G2(S)=G3(S)=试求三个模块串联连接的等效传函及等效状态空间模型。
解:n1 = [0.0128 1] ; d1 = [0.04 0] ; sys1 = tf (n1,d1);n2 = [30] ; d2 = [0.00167 1]; sys2 = tf( n2,d2);n3 = [2.5] ; d3 = [0.0128 1]; sys3 =tf ( n3,d3);sys123=sys1*sys2*sys3sys=ss(sys123)二、环节并联连结的化简G2(s)G1(s)parallel( )函数命令可以将2个环节并联连接进行等效化简。