目录
SISO系统
MIMO系统
状态空间模型
状态空间模型到传递函数模型的转换
传递函数模型到状态空间模型的转换
(1) 转换函数ss()
(2) 规范形转换函数canon()
(3) 常微分方程(传递函数)转换为状态空间模型函数dif2ss()
状态空间模型的变换
特征值、特征向量与广义特征向量的计算
线性定常系统可以是连续系统,也可以是离散系统线SISO系统
num=[b0 b1 … bn]
den=[a0 a1 … an]
num=[b0 b1 … bn]
den=[a0 a1 … an]
sys=tf(num, den, Ts)
sys=tf([b0 b1 … bn], [a0 a1 … an] , Ts)
num_1=[1 2 1];
den_1=[1 5 6];
sys_1=tf(num_1,den_1,-1)
MIMO系统
num={[1 2 1] [1 5]; [2 3] [6]};
den={[1 5 6] [1 2]; [1 6 11 6] [2 7]};
sys_1=tf(num,den)
状态空间模型
sys=ss(G,H,C,D,Ts)
式中,Ts为输入的采样周期,与建立离散系统传递函数的Matlab函数tf()的格式一致。
eg:
A_2=[0 1; -2 -3];
B_2=[0; 1]; C_2=[1 0];
D_2=0;
sys_2=ss(A_2,B_2,C_2,D_2)
状态空间模型到传递函数模型的转换
连续系统: con_tf=tf(con_ss)
离散系统: dis_tf=tf(dis_ss)
传递函数模型到状态空间模型的转换
(1) 转换函数ss()
连续系统: con_ss=ss(con_tf)
离散系统: dis_ss=ss(dis_tf)
(2) 规范形转换函数canon()
连续系统: con_ss=canon (con_tf, 'modal')
离散系统: dis_ss=canon (dis_tf, 'modal')
(3) 常微分方程(传递函数)转换为状态空间模型函数dif2ss()
num_1=[2 14 24]; den_1=[1 5 8 4];
sys_1=tf(num_1,den_1);
sys_comp=dif2ss(sys_1,'companion')
sys_jord=dif2ss(num_1,den_1,'jordan')
状态空间模型的变换
A=[0 1 0; 0 0 1; -6 -11 -6];
B=[0; 0; 6]; C=[1 0 0]; D=0;
P=[1 1 1; -1 -2 -3; 1 4 9];
sys_in=ss(A,B,C,D);
sys_out=ss2ss(sys_in,inv(P))
特征值、特征向量与广义特征向量的计算
Matlab提供直接计算特征值和特征向量的函数为eig(),其调用格式为:
d = eig(A)
[V,D] = eig(A)
Matlab的函数eig()不能直接计算广义特征向量,要计算广义特征向量则需要符号计算工具箱的函数jordan(),其调用格式为
J = jordan(A)
[V,J] = jordan(A)
eg:
A=[0 1 0; 0 0 1; -4 -8 -5];
B=[0; 0; 1]; C=[1 0 0]; D=0;
sys_in=ss(A,B,C,D);
[P,J]=jordan(A);
sys_out=ss2ss(sys_in,inv(P))