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