当前位置:
文档之家› 现代控制理论实验 用 MATLAB分析状态空间模型
现代控制理论实验 用 MATLAB分析状态空间模型
4
-------------------------
s^4 + 5 s^3 + 7 s^2 + 3 s
>> csys=canon(sss,'model')
Warning: Matrix is close to singular or badly scaled.
Results may be inaccurate. RCOND = 1.570092e-016.
0.7730 -0.8165 -0.6963
-0.2577 0.4082 0.6963
a =
x1 x2 x3
x1 -3 -8.438e-015 -7.994e-015
x2 1.155e-014 -2 -1.155e-014
x3 -3.109e-015 3.553e-015 -1
b =
u1
x1 -7.762
三、仪器设备
计算机, 软件
四、线路示图
五、内容步骤
1.已知系统的传递函数
(1)建立系统的TF和ZPK模型;
(2)见给定的传递函数用函数ss()转换成状态空间表达式。再将得到的状态空间表达式用函数tf()转换为传递函数并与原函数比较。
(3)见给定的传递函数转换成对角标准型或者约当标准型。再将得到的对角标准型或者约当标准型用函数tf()转换为传递函数并与原函数比较。
a =
x1 x2 x3 x4
x1 0 1 0 0
x2 0 -1 1 0
x3 0 0 -1 1
x4 0 0 0 -3
b =
u1
x1 0
x2 0
x3 0
x4 2
c =
x1 x2 x3 x4
y1 2 0 0 0
d =
u1
y1 0
Continuous-time model.
>> stf=tf(sss)
Transfer function:
提供的函数cannon可将状态空间表达式变换为对角标准型和约当标准型但该函数系统含有重特征值时效果不甚理想
实验报告
实验名称用 分析状态空间模型
一、目的要求
1.掌握线性定常系统的状态空间表达式。学会在 中建立状态空间模型的方法。
2.掌握传递函数和状态空间表达式之间相互转换的方法,学会用 实现不同模型之间的状态转换。
x2 -9.798
x3 2.872
c =
x1 x2 x3
y1 -0.3865 0.6124 1.044
d =
u1
y1 0
Continuous-time model.
七、分析讨论
通过本次实验我熟悉了MATLAB的基本操作,进一步掌握了传递函数和状态空间表达式之间转换的方法。理解了tf(),ss(),zpk(),tf2ss(),zpk2ss(),zpk2tf(),ss2ss(),eig(),Jordan(),cannon()等函数的使用条件和用法,对我以后学习、计算和分析自动控制理论和现代控制理论的部分习题有着极大的帮助。但MATLAB是个很实用的软件,可应用方面远不止这些,以后还需进一步深入学习才能更好的掌握这个软件。
4.状态空间模型(SS模型)。
5.模型转换。
6.状态空间表达式的相似变换。
7. 提供直接计算特征值和特征向量的的函数 ,其调用格式为
(1)
(2)
计算广义向量需要符号计算箱的函数,其调用格式为
(1)
(2)
8.通过线性变换可将状态空间表达式变换为约当标准型(包括对角标准型),能空标准型和能观标准型。
提供的函数 可将状态空间表达式变换为对角标准型和约当标准型,但该函数系统含有重特征值时效果不甚理想。
3.熟悉系统的连接,学会用 确立整个系统的状态空间表达式和传递函数。
4.掌握状态空间表达式的相似变换。掌握将状态空间表达式转换为对角标准型、约当标准型、能空标准型、能观标准型的方法。学会 进行线性变换。
二、原理简述
1.现行定常系统的数学模型。
2.传递函数模型(TF模型)。
3.零极点增益模型(ZPK模型)。
??? [q,d]=eig(a);q,p=inv(q);csys=ss2ss(stf,p
|
Error: Incomplete or misformed expression or statement.
>> [q,d]=eig(a);q,p=inv(q);csys=ss2ss(stf,p)
??? Undefined function or variable 'a'.
2.已知系统的传递函数
建立其状态空间模型,并用ss2ss函数进行相似变换将其转换为对角标准型。
六、数据处理
1.
z1=[];p1=[0 -1 -1 -3];k=4;
szpk=zpk(z1,p1,k)
Zero/pole/gain:
4
---------------
s (s+1)^2 (s+3)
>> sss=ss(szpk)
d =
u1
y1 0
Continuous-time model.
>> stf1=tf(csys)
Transfer function:
-0.6262 s^2 - 5.212 s - 6
-------------------------
s^4 + 5 s^3 + 7 s^2 + 3 s
2.
num=[6];den=[1 6 11 6];stf=tf(num,den)
>> a =[-6 -2.75 -1.5;4 0 0;0 1 0];b =[1;0;0];c = [ 0 0 1.5];d =0;
>> sss1=ss(a,b,c,d);[q,d]=eig(a);q,p=inv(q);csys=ss2ss(sss1,p)
q =
-0.5797 0.4082 0.1741
d =
u1
y1 0
Continuous-time model.
>> [q,d]=eig(a);q,p=inv(q);csys=ss2ss(sss,p)
??? Undefined function or variable 'a'.
>> [q,d]=eig(a);q,p=inv(q);csys=ss2ss(stf,p
Transfer function:
6
----------------------
s^3 + 6 s^2 + 11 s + 6
>> sss=ss(stf)
a =
x1 x2 x3
x1 -6 -2.75 -1.5
x2 4 0 0
x3 0 1 0
b =
u1
x1 1
x2 0
x3 0
c =
x1 x2 x3
y1 0 0 1.5
> In ss.canon at 85
a =
x1 x2 x3 x4
x1 0 0 0 0
x2 0 -1 0 0
x3 0 0 -1 0
x4 0 0 0 -3
ห้องสมุดไป่ตู้b =
u1
x1 -1
x2 6.369e+015
x3 6.369e+015
x4 2.297
c =
x1 x2 x3 x4
y1 2 -1.414 1.414 -0.1451