选择模拟模式
模拟模式权衡
一般来说,在选择加速模式或快速加速模式而不是普通模式时,必须权衡模拟速度和灵活性。
普通模式为模型调整和显示结果提供了最大的灵活性,但它的运行速度最慢。
在性能和与模型的交互方面,加速模式介于正常和快速加速模式之间。加速器模式不支持大多数运行时诊断。
快速加速模式运行最快,但是这种模式不支持调试器或分析器,并且只适用于那些C代码或MEX文件可用于模型中的所有块的模型。
请注意
当您运行多个模拟,而每个模拟在正常模式下的执行时间都不到一秒时,此规则就会出现例外。例如:
为我= 1:10 0 sim(模型);%在正常模式下执行不到1秒结束
提示
为了获得额外的灵活性,考虑使用模型引用来组件化您的模型。如果顶级模型使用普通模式,那么您可以使用与模型的其他部分不同的模拟模式来模拟引用模型。在模型开发过程中,您可以为模型的不同部分选择不同的模拟模式。有关详细信息,请参见为模型层次结构选择仿真模式.
比较模式
下表比较了普通模式、加速模式和快速加速模式的特性。
如果你想… | 然后使用这个模式… | ||
---|---|---|---|
正常的 | 加速器 | 快速的加速器 | |
性能 | |||
在单独的地址空间中运行模型 | |||
高效运行批处理和蒙特卡洛模拟 | |||
模型调整 | |||
改变模型参数如求解器,停止时间而不重建 | |||
更改块可调参数,如增益 | |||
有关不需要重新构建即可修改的配置集参数的详细信息,请参见加速模型中的代码再生 | |||
模型要求 | |||
即使不是所有块都使用C代码或MEX文件,也可以加速您的模型 | |||
支持解释的MATLAB函数块 | |||
支持非内联的MATLAB语言或Fortran S-Functions | |||
允许在模型中使用代数循环 | |||
您的模型是否与调试器或分析器一起工作 | |||
您的模型包含c++代码吗 | |||
数据显示 | |||
使用作用域和信号查看器 | 看到快速加速模式下范围和查看器的行为 | ||
在以编程方式模拟模型时,使用作用域和信号查看器 |
请注意
如果您以编程方式以快速加速模式运行模型,则作用域和查看器不会更新。
决策树
使用这个决策树来选择加速模式和快速加速模式。
看到比较性能了解如何有效加速将提高您的模型的性能。