自动控制原理_数学模型的MATLAB描述

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

运行结果为: Zero/pole/gain: (s+0.1)(s+0.2) (s+0.3)^2 >> sys2=tf(sys)%将零极点增益模型转换为传递函数模型 运行结果为: Transfer function: s^2+0.3s+0.02 s^2+0.6s+0.09
【例2.4】 线性定常连续系统的传递函数为 10s 2 20s G( s) 5 s 7 s 4 20s 3 28s 2 19s 5 应用MATLAB建立其零极点增益模型。 【解】 在MATLAB命令窗口中输入: >> G=tf([-10 20 0], [1 7 20 28 19 5])%建立传递函数模型 >> sys=zpk(G) 运行结果为: Zero/pole/gain: -10s(s-2) (s+1)^3(s^2+4s+5)
缺省情况下,函数 tfdata() 和zpkdata() 以元胞数组形式返 回参数(例如num, den,z,p等)。
对于单输入单输出模型而言,可在调用函数时 应用第二个输入变量′v′,指定调用该函数时 返回的是向量(Vector)数据而不是元胞数组
>> [z1,p1,k]=zpkdata(tf(num,den),′v′)
运行结果为:
Transfer function: p^2+3p+2
p^3+5p^2+7p+3
【例2.2】 系统的传递函数为
2s 2 4s 5 G( s) 4 s 7 s 3 2s 2 6s 6
应用MATLAB建立其数学模型。 【解】 (1) 建立连续时间系统传递函数。在MATLAB命令 窗口中输入: >> s=tf(′s′); %指定使用拉氏变换算子s生成传递函数 >> G=(2*s^2+4*s+5)/(s^4+7*s^3+2*s^2+6*s+6) 运行结果为: Transfer function: 2s^2+4s+5
s^4+7s^3+2s^2+6s+6
2.2 零极点增益模型 在MATLAB中,使用函数zpk()建立或转换线性定常系统的
零极点增益模型Βιβλιοθήκη Baidu其主要功能和格式如下:
功能:建立线性定常连续/离散系统的零极点增益模型,
或者将传递函数模型或状态空间模型转换成零极点增益模型。
格式: sys=zpk(z, p, k) % 建立连续系统的零极点增益模型sys。z,
2.2 数学模型的建立
表2.1 线性定常系统数学模型的生成及转换函数
2.2.1 传递函数模型 在MATLAB中,使用函数tf()建立或转换控制系统的传递 函数模型。其功能和主要格式如下。 功能:生成线性定常连续/离散系统的传递函数模型, 或
者将状态空间模型或零极点增益模型转换成传递函数模型。
格式: sys=tf(num, den) 生成传递函数模型sys
说明:零极点增益模型有时还可写为如下形式:
( s z1 )(s z2 ) ( s zm ) G( s) K ( s p1 )(s p2 ) ( s pn )
(2.3a)
式(2.3a)与式(2.3)形式完全相同,只是两者的零点 向量Z和极点向量P均相差一个负号。MATLAB规定的零极点增益 模型形式为式(2.3)。
(2) 直接生成传递函数模型。在MATLAB命令窗口中输入: >> sys=tf([1 3 2],[1 5 7 3]) 运行结果为: Transfer function: s^2+3s+2 s^3+5s^2+7s+3
(3) 生成连续时间系统传递函数模型,指定自变量为p。 在MATLAB命令窗口中输入: >> num=[1 3 2]; >> den=[1 5 7 3]; >> sys=tf(num, den, ′variable′, ′p′)
运行结果为: z1= 0.4019+1.1965i
0.4019-1.1965i
-0.7352+0.8455i -0.7352-0.8455i
p1=
-1.7680+1.2673i -1.7680-1.2673i
0.4176+1.1130i
0.4176-1.1130i - 0.2991
2.4 数学模型的连接
种形式。MATLAB使用函数parallel()实现模型的并联连
接。
图2.3 两个线性定常系统模型并联连接的基本形式
功能: 将两个线性定常系统的模型并联连接。 格式: sys=parallel(sys1, sys2)
将sys1和sys2进行并联连接, 构成如图2.3所示的
基本并联连接形式。 此时的连接方式相当于sys= sys1+sys2
式中: M(s)=b0sm+b1sm-1+…+bm-1s+bm为传递函数的分子多项式; N(s)=a0sn+a1sn-1+…+an-1s+an 为传递函数的分母多项式,也 称为系统的特征多项式。
在MATLAB中,控制系统的分子多项式系数和分母多项 式系数分别用向量num和den表示,即
num=[b0,b1,…,bm-1,bm],
p, k分别对应系统的零点向量, 极点向量和增益 sys=zpk(z, p, k, ′Property1′,Value1,…, ′PropertyN′, ValueN)建立连续系统的零极点增益模型sys。模 型sys的属性(Property)及属性值 (Value)用′Property′,Value指定
(s z )
i
m
(s p )
j j 1
i 1 n
(2.3)
对于单输入单输出系统,z1,z2,…,zm为G(s)的零点,p1,
p2,…,pn为G(s)的极点,K为系统的增益。 在MATLAB中, 控制系统的零点和极点分别用向量Z和P 表示, 即
Z=[z1,z2, …, zm], P=[p1, p2, …, pn]
【例2.3】 系统的零极点增益模型为
( s 0.1)(s 0.2) G( s) ( s 0.3) 2
用MATLAB建立其传递函数模型。
【解】 在MATLAB命令窗口中输入:
>> z=[-0.1, -0.2];p=[-0.3, -0.3];k=1; >> sys=zpk(z, p, k) %建立系统的零极点增益模型
自动控制原理Matlab仿真
第2章 数学模型的MATLAB描述
2.1 控制系统的数学模型 2.2 数学模型的建立 2.3 数学模型参数的获取 2.4 数学模型的连接
2.1 控制系统的数学模型
线性定常连续系统 1. 微分方程模型 设单输入单输出(SISO)线性定常连续系统的输入信号为r (t),输出信号为c(t),则其微分方程的一般形式为
字符串“sign”用以指定反馈的极性,正反馈时sign=+1,负
反馈时sign=-1, 且负反馈时可忽略sign的值。
>> G1=tf([1], [1 3])
Transfer function:
用MATLAB建立其传递函数模型,并获取其零点向量、极点向 量和增益等参数。
【解】 在MATLAB命令窗口中输入:
>> num=[3, 2, 5, 4, 6]; >> den=[1, 3, 4, 2, 7, 2]; >> [z, p, k]=zpkdata(tf(num,den))
运行结果为: z= [4x1 double] p= [5x1 double] k= 3
2.4.3 反馈连接
两个系统(或环节)按照图2.5 所示的形式连接称为反 馈连接。它分为单输入单输出系统和多输入多输出系统两种 形式。 MATLAB使用函数feedback()实现模型的反馈连接。
图2.5 两个线性定常系统系统的模型反馈连接的基本形式
功能: 将两个线性定常系统模型进行反馈连接。
格式: sys=feedback(sys1,sys2) 将sys1和sys2按照图3.5所示形式进行负反馈连接 sys=feedback(sys1,sys2,sign) 按字符串 “sign” 指定的反馈方式将sys1和sys2进行反馈连 接
d n c(t ) d n 1c(t ) dc(t ) a0 a1 an 1 an n n 1 dt dt dt d m r (t ) d m 1r (t ) dr (t ) b0 b1 bm 1 bm m m 1 dt dt dt
(2.1)
式中,系数a0,a1,…,an,b0,b1,…,bm为实常数,且m≤n。
2.3 数学模型参数的获取
应用MATLAB建立了系统模型后,MATLAB会以单个变量形 式存储该模型的数据。 有时需要从已经建立的线性定常系统模型(如传递函数模 型、零极点增益模型、状态空间模型或频率响应数据模型) 中获取模型参数等信息,此时除了使用函数set()和函数
get()以外,还可以采用模型参数来达到目的。由线性定常
图2.1 两个线性定常系统模型串联连接的基本形式
功能: 将两个线性定常系统的模型串联连接。
格式:
sys=series(sys1, sys2)
将sys1和
sys2进行串联连接,形成如图2.1所示的基本串联连接形式。 此时的连接方式相当于sys=sys1×sys2
>> G1=tf([1], [1 3])
den=[a0,a1,…,an-1,an]
3. 零极点增益(Zero-Pole-Gain:ZPK)模型 式(2.2)所示传递函数的分子多项式和分母多项式经因式
分解后, 可写为如下形式:
( s z1 )(s z2 ) ( s zm ) G(s) K K ( s p1 )(s p2 ) ( s pn )
2. 传递函数(Transfer Function:TF)模型
对式(2.1)在零初始条件下求拉氏变换,并根据传递函 数的定义可得单输入单输出系统传递函数的一般形式为
L[c(t )] C (s) b0 s m b1s m1 bm1s bm M (s) G( s ) n n 1 L[r (t )] R(s) a0 s a1s an1s am N (s)
表2.4 模型连接函数
2.4 串联连接 两个系统(或环节)sys1,sys2进行连接时,如果sys1的 输出量作为sys2的输入量,则系统(或环节)sys1和sys2称为 串连连接(见图2.1)。它分为单输入单输出系统和多输入多 输出系统两种形式。MATLAB使用函数series()实现模型的串 联连接。
系统的一种模型可以直接得到其他几种模型的参数,而不必 进行模型之间的转换。这些函数的名称及功能如表2.2所示。
表2.2 模型参数的获取函数
【例2.5】 系统的传递函数模型为
3s 4 2s 3 5s 2 4s 6 G( s) 5 s 3s 4 4s 3 2s 2 7 s 2
s 2 3s 2 G( s) 3 s 5s 2 7 s 3
【解】(1) 生成连续传递函数模型。在MATLAB命令窗口中输入: >> num=[1 3 2]; >> den=[1 5 7 3]; >> sys=tf(num, den) 运行结果为: Transfer function: s^2+3s+2 ---------------------s^3+5s^2+7s+3
Transfer function:
>> G2=tf([1], [1 5]) >> G=series(G1,G2)
1 -------------s^2 + 8 s + 15
2.4.2 并联连接
两个系统(或环节)sys1和sys2连接时,如果它们具 有相同的输入量,且输出量是sys1输出量和sys2输出量的 代数和, 则系统(或环节)sys1和sys2称为并联连接(见 图2.3)。它分为单输入单输出系统和多输入多输出系统两
sys=tf(num,den,′Property1′,Value1, …,′PropertyN′,ValueN) 生成传递函数模型sys。模型sys的属性(Property)及属性值(Value)用 ′Property′,Value指定
【例2.1】 已知控制系统的传递函数为
用MATLAB建立其数学模型
相关文档
最新文档