您可以使用目标模型类型的模型创建命令显式地将模型从一种表示形式转换为另一种表示形式。例如,使用党卫军
,并转换为并行形式PID使用pid
。有关转换为特定模型类型的信息,请参阅该模型类型的参考页。
通常,您可以从任何模型类型转换为任何其他类型。然而,有一些限制。例如,您不能转换:
的朋友
模型到分析模型类型,例如党卫军
,特遣部队
,或zpk
(除非您使用系统识别工具箱™软件进行系统识别)。
党卫军
具有内部延迟的模型特遣部队
或zpk
。
您可以在数值型LTI模型和广义LTI模型之间进行转换。
将广义LTI模型转换为数值LTI模型,将评估任何控制设计块的当前(标称)值。
将数值型LTI模型转换为广义LTI模型将创建带有空值的广义LTI模型块
财产。
有些算法只对一种类型的模型对象进行操作。以零阶保持器离散化算法为例汇集
只能在状态空间模型上执行。类似地,诸如tfdata
或piddata
期望一个特定类型的模型(特遣部队
或pid
分别)。为了方便,这样的命令自动将输入模型转换为适当的或所需的模型类型。例如:
Sys = ss(0,1,1,0) [num,den] = tfdata(Sys)
tfdata
自动转换状态空间模型sys
传递函数形式以返回分子和分母数据。
状态空间形式的转换不是唯一定义的。因此,当结果取决于状态坐标的选择时,不会发生到状态空间的自动转换。例如,最初的
和卡尔曼
命令需要状态空间模型。
您可以使用任何模型类型来表示数值系统组件。然而,数值型LTI模型类型并不同样适合数值计算。一般情况下,建议使用状态空间(党卫军
)或频率响应数据(的朋友
)模型,原因如下:
使用高阶传递函数(特遣部队
或zpk
模型)有时很差,特别是对于MIMO或高阶系统。转换到传递函数表示形式会导致准确性的损失。
当你转换特遣部队
或zpk
模型到状态空间使用党卫军
时,软件自动执行平衡和伸缩操作。平衡和缩放提高了模型计算的数值准确性。有关平衡和缩放状态空间模型的更多信息,请参见扩展状态空间模型。
此外,在模型类型之间来回转换可能会引入额外的状态或顺序,或引入数值不准确。例如,到状态空间的转换不是唯一定义的,也不能保证生成MIMO模型的最小实现。对于给定的状态空间模型sys
,
党卫军(tf (sys))
可以返回具有不同状态空间矩阵的模型,甚至在MIMO情况下具有不同数量的状态。