编辑: sunny爹 | 2019-07-17 |
6 其中conv()函数(标准的MATLAB函数)用来计算两个向量的卷积,多项式乘法也可以用这个函数来计算.该函数允许任意地多层嵌套,从而表示复杂的计算. 【自我实践1】建立控制系统的传递函数模型:
2、零极点模型 线性系统的传递函数还可以写成极点的形式: 将系统增益K、零点-zi和极点-pj以向量的形式输入给三个变量、Z和P,命令格式为: (6) (7) (8) 用函数命令zpk ( ) 来建立系统的零极点增益模型,其函数调用格式为: G=zpk(Z,P,KGain)9) 例3 某系统的零极点模型为: >
>
KGain=6;
z=[-1.9294;
-0.0353+0.9287j;
-0.0353-0.9287j];
p=[-0.9567+1.2272j;
-0.9567-1.2272j;
0.0433+0.6412j;
0.0433-0.6412j];
G=zpk(z,p,KGain) 运行结果: Zero/pole/gain:
6 (s+1.929) (s^2 + 0.0706s + 0.8637) (s^2 - 0.0866s + 0.413) (s^2 + 1.913s + 2.421) 注意:对于单变量系统,其零极点均是用列向量来表示的,故z、p向量中各项均用分号(;
)隔开. 【自我实践2】建立控制系统的零极点模型:
3、控制系统模型间的相互转换 零极点模型转换为传递函数模型:[num , den] = zp2tf ( z, p, k ) 传递函数模型转化为零极点模型:[z , p , k] = tf2zp ( num, den ) 例4 给定系统传递函数为: 对应的零极点模型可由下面的命令得出 >
>
num=[6.8, 61.2, 95.2];
den=[1, 7.5, 22, 19.5, 0];
G=tf(num,den);
G1=zpk(G) 显示结果: Zero/pole/gain: 6.8 (s+7) (s+2) s (s+1.5) (s^2 + 6s + 13) 可见,在系统的零极点模型中若出现复数值,则在显示时将以二阶因子的形式表示相应的共轭复数对. 例5 给定零极点模型: 可以用下面的MATLAB命令立即得出其等效的传递函数模型.输入程序时要注意大小写. >
>
Z=[-2,-7];
P=[0,-3-2j,-3+2j,-1.5];
K=6.8;
G=zpk(Z,P,K);
G1=tf(G) 结果显示: Transfer function: 6.8 s^2 + 61.2 s + 95.2 s^4 + 7.5 s^3 +
22 s^2 + 19.5 s 【自我实践3】已知系统传递函数,求其等效的零极点模型. 【自我实践4】建立控制系统的多项式模型:.
4、反馈系统结构图模型 设反馈系统结构图如图2- 1所示. 图2-1反馈系统结构图 两个环节反馈连接后,其等效传递函数可用feedback ( ) 函数求得,其调用格式为: sys = feedback(G1, G2, sign) 其中sign是反馈极性,sign缺省时,默认为负反馈,sign=-1;
正反馈时,sign=1;
单位反馈时,G2=1,且不能省略. series( )函数:实现两个模型的串联;
多于两个必须嵌套使用. parallel( )函数:实现两个模型的并联;
多于两个必须嵌套使用. 例6 若反馈系统如图2-1中的两个传递函数分别为: , 则反馈系统的传递函数: >
>
G1=tf(1,[1,2,1]);
G2=tf(1,[1,1]);
G=feedback(G1,G2) 运行结果: Transfer function: s +
1 s^3 +
3 s^2 +
3 s +
2 若采用正反馈连接结构输入命令 >
>
G=feedback(G1,G2,1) 则得出如下结果: Transfer function: s +
1 s^3 +
3 s^2 +
3 s 例7 若反馈系统为更复杂的结构如图2- 2所示.其中 ,,
图2- 2复杂反馈系统 则闭环系统的传递函数: >
>
G1=tf([1,7,24,24],[1,10,35,50,24]);
G2=tf([10,5],[1,0]);
H=tf([1],[0.01,1]);
G_a=feedback(G1*G2,H) 结果为: Transfer function: 0.1 s^5 + 10.75 s^4 + 77.75 s^3 + 278.6 s^2 + 361.2 s +
120 0.01 s^6 + 1.1 s^5 + 20.35 s^4 + 110.5 s^3 + 325.2 s^2 +
384 s +
120 【自我实践5】已知系统前向通道的传递函数,求其单位负反馈闭环传递函数.
5、Simulink建模方法 在一些实际应用中,如果系统的结构过于复杂,不适合用前面介绍的方法建模.在这种情况下,功能完善的Simulink程序可以用来建立新的数学模型.Simulink是由Math Works 软件公司1990年为MATLAB提供的新的控制系统模型图形输入仿真工具.它具有两个显著的功能:Simul(仿真)与Link(连接),即可以利用鼠标在模型窗口上 画 出所需的控制系统模型.然后利用SIMULINK提供的功能来对系统进行仿真或线性化分析.与MATLAB中逐行输入命令相比,输入更容易,分析更直观.下面简单介绍SIMULINK建立系统模型的基本步骤: SIMULINK的启动:在MATLAB命令窗口的工具栏中单击按钮或者在命令提示符>