我知道如何在MATLAB中使用 linmod 来线性化Simulink模型,但这需要修改模型以完成线性化 . 例如,考虑模型:
linmod
为了线性化它,我需要创建一个像这样的修改模型:
但是,我希望在创建另一个文件的同一个Simulink文件上运行 . 我不想只为线性化存储单独的Simulink模型......
如何在第一个图中线性化模型?假设操作 u(t)=0.5 和操作状态(只有1个状态, m_u(t) )也是 0.5 .
u(t)=0.5
m_u(t)
0.5
这不能用基本的Simulink(开箱即用)完成,即使用linmod,dlinmod或linmod2 .
您可以编写一些MATLAB代码,这些代码将自动获取模型,复制它,删除适当的块,插入输入和输出,以及执行线性化 . 然而,要做到正确,这将是耗时的,而不是我认真建议的事情 .
唯一的解决方案是使用附加组件Simulink Control Design产品,该产品具有在模型中插入/指定要在其中线性化的点的功能,而不会影响模型的模拟方式 . ("Under the hood"这最有可能像上面描述的MATLAB脚本一样 . )
1 回答
这不能用基本的Simulink(开箱即用)完成,即使用linmod,dlinmod或linmod2 .
您可以编写一些MATLAB代码,这些代码将自动获取模型,复制它,删除适当的块,插入输入和输出,以及执行线性化 . 然而,要做到正确,这将是耗时的,而不是我认真建议的事情 .
唯一的解决方案是使用附加组件Simulink Control Design产品,该产品具有在模型中插入/指定要在其中线性化的点的功能,而不会影响模型的模拟方式 . ("Under the hood"这最有可能像上面描述的MATLAB脚本一样 . )