想知道为什么在Simulink中运行缓慢吗?那么今天赞奇云工作站就为大家解决这个问题,跟着我来看看吧。
有几种可能会导致你的模拟运行缓慢:
1. 你有一个MATLAB函数块——当一个MATLAB Fcn块存在时,MATLAB解释器在每个时间步被调用。这大大降低了模拟速度。因此,您应该尽可能使用内置的Fcn块。
2. 编写为MATLAB文件的s函数- s函数在每个时间步上求值。通过将MATLAB文件转换为mex文件,可以大大提高性能。此外,只要有可能,就使用内置块来建模s函数。
3.小的步长或采样时间(或彼此不是倍数的采样时间的混合)。保持足够小的步长来捕获模拟过程中的重要事件是很重要的。相反,如果步长过小,则会产生过多的输出点,从而降低模拟速度。
4. 最大步长太小。如果更改了最大步长,请尝试使用默认值(设置为自动)运行模拟。
5. 你可能要求的准确性太高了。默认的相对公差(0.1%的精度)通常是足够的。对于状态趋于零的模型,如果绝对公差参数太小,模拟可能在接近零的状态值周围花费太多的步骤。有关容错的更多信息,请参见使用Simulink手册的第5-13页。请记住所有输入的公差值都是绝对值。所以当设置为1e-3时,默认的相对公差值表示相对公差为0.001,以百分比表示为0.1%。
6. 时间尺度可能太长了。缩短时间间隔。
7. 您的模型包括一个内存块。使用Memory块会导致变阶求解器(ode15s和ode113)在每个时间步上重置为阶1。
8. Extras库中包含上述三种情况之一的任何屏蔽块(即,图形