matlab中已知状态方程,怎么求等效传递函数与零极点模型?

多谢
2025-02-02 16:03:42
推荐回答(2个)
回答1:

已知状态方程
x'=AX+BU;
y=CX+DU。
先求出传递函数的状态空间模型:G=ss(A,B,C,D)。
将状态空间模型转为传递函数模型:G1=tf(G)。
再求零极点:[z,p,k]=tf2zp(G1.num{1,1},G1.den{1,1})。
得到零极点模型:G2=zpk(z,p,k)
完成。

回答2:

一般已知状态方程

dx/dt=Ax+Bu
y=Cx+Du

要求其传递函数和零极增益,可以使用如下代码
sys=ss(A,B,C,D)
tfun=tf(sys)
zpm=zpk(sys)

楼主可以看看ss、tf和zpk的帮助文档。