您可以使用目标模型类型的模型创建命令显式地将模型从一种表示形式转换为另一种表示形式。例如,使用党卫军
,并转换为并行形式的PIDpid
.有关转换为特定模型类型的信息,请参阅该模型类型的参考页。
通常,您可以从任何模型类型转换到任何其他模型类型。然而,也有一些限制。例如,你不能转换:
的朋友
模型以解析模型为类型党卫军
,特遣部队
,或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情况下返回不同数量的状态。