人在仿真软件金宝app

金宝app仿真软件和基于模型的设计

最有用的命令调试变量步骤解算器的性能

今天我想分享一个把戏我经常使用它来确定一个变量一步模拟运行时一样快。

可视化模型采取的步骤

首先,节省仿真时间数据。这可以做的数据导入/外港窗格模型的配置。

日志记录仿真时间数据

一旦完成仿真,绘制时间的导数数据。这可以用以下行:

semilogy(兜售(1:end-1), diff(宣传)

我喜欢用对数刻度的时间轴,因为步骤可以在很大范围内变化。

现在让我们看看几个例子显示什么样的信息,我们可以从这个图中提取。

公差超过

当将这种技术应用到例子演示vdp.mdl,得到下图:

semilogy(兜售(1:end-1), diff(宣传))演示vdp.mdl

使用此图,我们可以确定2主要的事情。

首先,我们可以看到,大多数时候,采取的解决者对应的步骤马克斯步长在模型中指定的配置。这意味着你可能会增加解决max步长和允许解决者采取更大的行动,减少所需的总数步骤完成仿真。

其次,我们可以看到,在某些瞬间,时间步长减少顺利。这意味着尽可能大的解决需要步骤指定的尊重宽容

确认以上,让我们改变解决max步长,看看它如何影响步长:

semilogy(兜售(1:end-1), diff(宣传))演示vdp.mdl

在这个例子中,效果很小。但是我们可以看到,如果我们增加马克斯•步长仿真需要更大的步骤。

注意,我建议增加时谨慎解决马克斯步长或公差。花时间去做一个融合研究,确保结果仍然提供你所需要的精度。

零交点

另一个重要的模式,使用这种技术可以确定是零交点在模拟的影响。

让我们把这个简单的模型,由一个正弦波与饱和度块。

示例模型生成零交点事件

在这个例子中,饱和块生成一个零交点事件每次进入或退出饱和。如我们所见,这迫使模型解算器非常小的步骤,准确地捕捉这个事件。金宝app

零交点对时间的步骤

提供准确的零交点机制采取小步骤。知道解决的行为,它是由你来判断一块需要零交点。

结论

如果您的模型运行较慢的比你想象的,这项技术可以帮助您确定是否因为它需要比它需要较小的步骤。

在我调试工具箱,这是我尝试的第一件事当我调查的性能仿真。

现在轮到你了

你有什么技巧分享,帮助determinining如果变步模拟运行尽可能快的吗?请分享它离开这里的评论

|

评论

留下你的评论,请点击在这里MathWorks账户登录或创建一个新的。