我想确定Simulink中制作的非线性系统的线性化传递函数。我可以看到应该可以在Matlab中使用linmod
函数,但是当我尝试这个时
[num,den]=linmod('sys')
我没有获得分子和分母,而是获得状态空间矩阵等。任何人都可以帮忙吗?
答案 0 :(得分:2)
尝试使用balred
功能:documentation
rsys = balred(sys,ORDERS)
计算降阶近似rsys
LTI模型sys
。rsys
的所需顺序(状态数)是 由ORDERS指定。您可以通过设置一次尝试多个订单 ORDERS到整数向量,在这种情况下rsys
是一个向量 降阶模型。 balred使用隐式平衡技术 计算降阶近似rsys
。
示例:
Q = tf([1 2 3 4 5],[5 4 3 2 1])
Q =
s^4 + 2 s^3 + 3 s^2 + 4 s + 5
-------------------------------
5 s^4 + 4 s^3 + 3 s^2 + 2 s + 1
Q_lin = balred(Q,2)
Q_lin =
3.276 s^2 - 2.06 s + 2.394
--------------------------
s^2 - 0.2757 s + 0.4789
balred(Q,1)
不能用于我的示例,因为有两个不稳定的极点,但它可能适用于您的系统。
答案 1 :(得分:2)