2008pyp 发表于 2008-12-15 19:18

状态空间用tf转化为传递函数矩阵后,用zero求的零点不同了

各位好!请问,
1. matlab MIMO状态空间用tf转化为传递函数矩阵后,用zero求的零点不同了!这是怎么回事呢?
2. mtlab 帮助里面说,zero求得的是 传输零点。但根据传输零点的定义,传输零点即为系统的不可控不可观模态。明显上面的系统是可控可观的,但是还是可以求出传输零点!奇怪!希望各位高手多多指点:-D

例如下面的程序
A0 = ; %不稳定对象
B0 = ;
C0 = ;
D0 = zeros(2,2);
Gs = -ss(A0,B0,C0,D0); %状态空间

n1 = rank(ctrb(A0,B0));%能控能观性判断
n2 = rank(obsv(A0,C0));

Gtf = tf ( Gs ); %传递函数矩阵

zero(Gs)
ans =
    2.0000
   -2.0000

zero(Gtf)
ans =
   3.6403         
-2.0000         
-0.4752 + 1.6461i
-0.4752 - 1.6461i
   2.0000         
   1.3101

sigma665 发表于 2008-12-15 21:48

求零点不就是方程为0的点吗

ChaChing 发表于 2008-12-16 09:06

这类问题的确好玩, 理论上不管ss或tf形式, zero都应该相同!
真的太久没接触这块了, 很生疏了!
建议楼主先至"控制理论及应用"问问吧!

2008pyp 发表于 2008-12-27 10:11

谢谢各位的回答!:@)

2008pyp 发表于 2008-12-27 10:12

上面对传输零点的定义搞错了。sorry。大家不好误会了。
页: [1]
查看完整版本: 状态空间用tf转化为传递函数矩阵后,用zero求的零点不同了