选择仿真模式
仿真模式的权衡
一般而言,当您选择加速或快速加速模式而不是普通模式时,您必须在仿真速度和灵活性之间做出权衡。
普通模式在调整模型和显示结果方面提供了最大的灵活性,但运行速度最慢。
加速模式在性能以及与模型的交互方面介于普通和快速加速模式之间。加速模式不支持大多数运行时诊断。
快速加速模式的运行速度最快,但此模式不支持调试实用工具或 Simulink® 探查器,而且仅适用于模型中的所有模块均有 C 代码或 MEX 文件的模型。
注意
此规则有一个例外,即当您运行多个仿真时,每个仿真在普通模式下都执行不到一秒钟。例如:
for i=1:100 sim(model); % executes in less than one second in Normal mode end
提示
要获得更大的灵活性,请考虑使用模型引用对您的模型进行组件化。如果顶层模型使用普通模式,则您可以对引用模型采用与模型中的其他部分不同的仿真模式进行仿真。在模型开发过程中,您可以为模型的不同部分选择不同的仿真模式。有关详细信息,请参阅为模型层次结构选择仿真模式。
比较模式
下表对普通、加速和快速加速模式的特点进行了比较。
如果您要... | 请使用此模式... | ||
---|---|---|---|
普通 | 加速 | 快速加速 | |
性能 | |||
在单独的地址空间运行模型 | ![]() | ||
高效地运行批量仿真和蒙特卡罗仿真 | ![]() | ||
模型调整 | |||
更改模型参数(如求解器、停止时间)而不重新构建 | ![]() | ![]() | ![]() |
更改模块可调参数,如 Gain | ![]() | ![]() | ![]() |
有关可以修改的配置集参数(无需重新构建)的详细信息,请参阅Code Regeneration in Accelerated Models | |||
模型要求 | |||
即使并非所有模块都有对应的 C 代码或 MEX 文件也为模型加速 | ![]() | ||
支持 Interpreted MATLAB Function 模块 | ![]() | ![]() | |
支持非内联 MATLAB 语言或 Fortran S-Function | ![]() | ![]() | |
允许在模型中使用代数环 | ![]() | ![]() | |
使用调试选项或 Simulink 探查器 | ![]() | ![]() | |
在模型中包含 C++ 代码 | ![]() | ![]() | |
数据显示 | |||
使用示波器和信号查看器 | ![]() | ![]() | 请参阅示波器和查看器在快速加速模式下的行为。 |
以编程方式仿真模型时,使用示波器和信号查看器 | ![]() | ![]() |
注意
如果在快速加速模式下以编程方式运行模型,示波器和查看器不会更新。
决策树
使用以下决策树在加速模式和快速加速模式之间进行选择。
要了解加速在提高模型性能方面的作用,请参阅比较性能。