模拟性能提示
通过家伙卷轴
我最常从Simulink用户听到最常见的问题万博1manbetx我能做什么让我的模型运行得更快?这里列出了一些可以帮助你的技巧。
显示和范围
当您在模型中显示或范围时,Simulink需要更新它。万博1manbetx要加快模型的执行,仅显示必要的。这可能意味着:
- 限制可见显示和打开范围的数量。
- 对于开放式范围和显示,将抽取设置为合理的值。
- 使用内存中加载模型load_system而不是open_system并使用它模拟它sim卡命令,然后发布过程/显示输出。
解释块
当模型包含MATLAB Fcn块或MATLAB文件S函数,每个时间步调用MATLAB解释器。试着用FCN块,数学函数块,嵌入式MATLAB函数块(没有外在功能)或C-MEX s函数.
代数循环
我最近在电视上看到一则广告。有一个关于搭讪的评论,我认为它也适用于代数循环:
“他们需要时间和地点。时间永远不会……你可以自己找地方住。”
说真的,有时候代数循环都是不可避免的,但它们总是会减慢模型的速度。
解算器选项
解算器设置影响仿真性能,尤其是变步长求解器。看看您的模型所采取的时间步骤。我通常通过记录模拟时间(兜售),并使用以下命令显示:semilogy(兜售(1:end-1), diff(宣传)
根据您所看到的,可以确定要更改哪个设置。这可以包括求解器的选择,马克斯步长,相对和绝对公差,过零点检测等。
求解器设置如何影响模拟性能是一个复杂的主题太长了,这篇文章。我建议查看文档页面标题选择一个求解器为更多的细节。留下一个评论下面如果你想看到未来的帖子通过求解器设置提高模拟性能。
加速器和快速加速器模式
加速器模式将块方法转换为C-MEX S函数。由于编译了块方法而不是解释,模型通常会更快地运行。这快速加速器模式从您的模型创建一个独立的可执行文件。可执行文件在不同的进程中启动,该进程将在不同处理器上的单独线程中运行,如果您有一个多核机器。
以下是使用加速器和快速加速器模式时的一些提示:
- 避免不支持代码生成的块。万博1manbetx它们以解释模式运行,可以减速模型。
- 尝试从更快的构建切换编译器优化级别以更快运行。
- 最大限度,请使用该速度开始模拟sim卡命令时使用这些模式。
请看标题为的文档页面比较性能.这将给您一个很好的概念,什么时候应该使用这些模式。
并行计算工具箱
为了并行运行多个模拟,从Parcon中调用SIM卡是个好主意。这允许您在执行参数扫描和蒙特卡罗分析时充分利用机器中的所有处理器。
在您的Matlab安装中,寻找标题的演示使用Parcom的快速加速器模拟例如,
在哪里寻找更多?
Simu万博1manbetxlink文档中有一章名为提高仿真性能和精度.我强烈建议通过本章创建以最佳速度运行的模拟。
现在轮到你了
如何确保模拟以最佳速度运行?你有没有这里没有提到的技巧?发布一个在这里评论.
- 类别:
- 分析,
- 调试,
- 的性能,
- 模拟,
- 万博1manbetx仿真软件提示
评论
要发表评论,请点击这里登录您的MathWorks帐户或创建新的。