切换模型表示
这个例子展示了如何传递函数(TF)之间切换zero-pole-gain (ZPK),状态(SS)和频率响应数据LTI系统的(朋友)表示。
模型类型转换
您可以转换模型从一个代表到另一个使用相同的命令,您可以使用构造线性时不变模型(特遣部队
,zpk
,党卫军
,的朋友
)。例如,您可以将状态方程模型:
sys = ss (2, 1, 1, 3);
zero-pole-gain模型通过输入:
zpksys = zpk(系统)
zpksys = 3 (s + 2.333) - - - - - - - - - - - - (s + 2)连续时间零/钢管/增益模型。
类似地,您可以计算的传递函数sys
通过键入:
特遣部队(系统)
ans = 3 + 7 - - - - - - -年代+ 2连续时间传递函数。
转换的朋友需要一个频率向量:
f = logspace (2, 2, 10);frdsys =朋友(sys, f)
frdsys =频率(rad / s)反应- - - - - - - - - - - - - - - - - - - - - - - - 0.0100 - 3.5000 - 0.0025我0.0278 3.4999 - 0.0070 0.0774 - 3.4993 - 0.0193我0.2154 3.4943 - 0.0532 0.5995 - 3.4588 - 0.1375我1.6681 3.2949 - 0.2459 4.6416 - 3.0783 - 0.1817我12.9155 3.0117 - 0.0756 35.9381 - 3.0015 100.0000 - 3.0002 - 0.0100 - 0.0277我连续时间频率响应。
注意,朋友模型不能转换回TF, ZPK或SS表示(转换需要系统识别的频域识别工具)。
所有模型类型转换路径如下图中进行了总结。
隐式类型铸造
一些命令预计一个特定类型的线性时不变模型。为了方便起见,这些命令自动传入LTI模型转换为适当的表示。例如,在示例代码:
sys = ss (0, 1, 1, 0);(num,窝)= tfdata (sys,“v”)
num =1×20 1
穴=1×21 0
这个函数tfdata
自动转换状态方程模型sys
一个等效传递函数来获取其分子和分母的数据。
谨慎关于表征之间来回切换
特遣部队之间的转换、ZPK和SS表示涉及数值计算,可以导致精确度损失时滥用。因为纳粹党卫军和朋友表示最适合数值计算,是一种很好的做法将所有模型转化为学生或朋友,只使用TF和ZPK表示施工或显示的目的。
例如,把ZPK模型
G = zpk ([], (10, 1), 1, 0.1)
G = 1 - - - - - - - - - - (z 1) ^ 10样品时间:0.1秒离散时间零/钢管/增益模型。
特遣部队,然后回到ZPK:
G1 = zpk (tf (G));
现在比较的磁极位置G
和G1
:
G1 = zpk (tf (G));pzmap (G,“b”G1,“r”轴([0.5 1.5 -0.4 0.4])传说(‘G’,G1的)
观察的多样性10杆z = 1
在G
取而代之的是一个集群的波兰人在吗G1
。这是因为两极G1
计算多项式的根吗
和一个o (eps)
错误在最后这个多项式的系数是足够的根源
换句话说,传递函数表示不够准确捕捉附近的系统行为z = 1,也可见的波德图G
vs。G1
:
波德(G,“b”G1,“r——”)、网格传奇(‘G’,G1的)
这说明了为什么你应该避免不必要的模型转换。