Matlab Simulink 文件 运行 时间(以小时为单位):步长与 simulation/stop 时间之间的关系

Matlab Simulink file run time in hours: Relation between step size and simulation/stop time

我打算 运行 一个 Matlab Simulink 模型(400 个 ODE,即 400 个 ODE 模型),固定步长为 200e-06,simulation/stop 时间为 52 小时。据我了解,Simulink 停止时间的单位是秒。这是否意味着我需要 运行 模拟 (52*3600) 187200 秒?此外,我意识到 运行 模拟时间为 187200 秒的 Simulink 模型将花费很长时间(可能是几个月,这不是一个可行的选择),无论计算机配置高或 vectorized/parallelized模型结构。

有人可以告诉我步长和simulation/stop时间之间的关系吗?

感谢您的宝贵时间。

此致

步长和模拟持续时间是独立的参数。
对于固定步长模拟,您有以下关系:

NumberSteps = Duration / StepSize

模型的设计者应该决定什么是时间单位并相应地设计它。
可以是任何东西,秒,小时,周,...,你只需要确保模型中的计算与你选择的单位一致即可。
例如,您可以在 m/s、km/h、miles/h 中模拟速度,并以 1 (s) 步长或 1/3600 (h) 进行相同的 1 s 计算步骤。
问题是想知道你用的模型是在哪个时间单位设计的?
如果模型使用 1 秒逻辑,则:

NumberSteps = 52 * 3600 / (200e-6) = 936e6

这是异常多的步数,解释了 运行 时间过长的原因。
我会质疑在这么长的时间内需要这么小的步长。

也可以用 1 小时逻辑对同一系统建模。
在这种情况下:

NumberSteps = 52 / (200e-6) = 260e3
Stepsize = 200e-6 h = 0.72 s

这成为模拟的常规步骤数,应该 运行 几秒或几分钟,具体取决于模型的复杂性