【问题标题】:MATLAB: linearize an existing Simulink model?MATLAB:线性化现有的 Simulink 模型?
【发布时间】:2015-09-23 09:38:57
【问题描述】:

我知道如何在 MATLAB 中使用 linmod 对 Simulink 模型进行线性化,但这需要修改模型才能完成线性化。例如,考虑模型:

为了使其线性化我需要创建一个修改后的模型,如下所示:

但是,我想对同一个 Simulink 文件进行操作而不创建另一个文件。我不想为了线性化而存储一个单独的 Simulink 模型......

如何对第一个图中的模型进行线性化?假设运行u(t)=0.5,运行状态(只有1个状态,m_u(t))也是0.5

【问题讨论】:

  • 所以你想在线性模型和普通模型之间切换?那为什么不实现一个开关呢?您还可以在脚本 (balred or linmod) 中线性化您的系统,并将自定义传递函数加载到 Simulink。还是屏蔽子系统?你应该更清楚问题出在哪里,因为我没有看到。
  • 如果不够清楚,请见谅。我已经在使用 linmod。整个问题是使用linmod 我必须使用第二个图中的模型 - 我必须将其存储在单独的文件中。我想将所有内容存储在一个文件中。您能否截取一个开关解决方案(我可以在调用 linmod 时切换的开关)?

标签: matlab simulink linearization


【解决方案1】:

使用基本 Simulink(即使用 linmod、dlinmod 或 linmod2)无法(开箱即用)完成此操作。

您可以编写一些 MATLAB 代码来自动获取模型、复制模型、删除适当的模块、插入输入端口和输出端口,并执行线性化。 但是,这会很耗时,而且我不会认真建议。

唯一的解决方案是使用插件Simulink Control Design 产品,该产品具有在模型中插入/指定您希望从/到线性化的点的功能,而不会影响模型的模拟方式。 (“幕后”这很可能与上述 MATLAB 脚本类似。)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-02-08
    • 1970-01-01
    • 2016-11-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多