系统的传递函数为
试用MATLAB求其约当标准型状态空间表达式。
>> num=[2,1];
>> den=[1 7 14 8];
>> [A,B,C,D]=tf2ss(num,den);
>> L=eig(A);
>> K1=L(1)*eye(3)-A;
>> syms p11 p12 p13
>> f=K1*[p11;p12;p13];
>> p11=1;
>> p12=solve(subs(f(2)));
>> p13=solve(subs(f(3)));
>> p1=[p11;p12;p13];
>> K2=L(2)*eye(3)-A;
>> syms p21 p22 p23
>> f=K2*[p21;p22;p23];
>> p21=1;
>> p22=solve(subs(f(2)));
>> p23=solve(subs(f(3)));
>> p2=[p21;p22;p23];
>> K3=L(3)*eye(3)-A;
>> syms p31 p32 p33
>> f=K3*[p31;p32;p33];
>> p31=1;
>> p32=solve(subs(f(2)));
>> p33=solve(subs(f(3)));
>> p3=[p31;p32;p33];
>> T=[p1,p2,p3];
>> A0=inv(T)*A*T
A0 =
[ -4, 0, 0]
[ 0, -2, 0]
[ 0, 0, -1]
>> B0=inv(T)*B
B0 =
8/3
-2
1/3
>> C0=C*T
C0 =
[ -7/16, -3/4, -1]
为什么我的c0不是[1,1,1]呢?可是验算K1*p1..K2*p2..K3*p3都是0啊..所以应该是没算错的..这题没有重根..难道这是不能化为约当标准型的原因吗??