simulink求解器solver 的设置问题
进行simulink简单模型仿真计算时,总出现以上警告,请问怎么调整设置?求教! 展开
出现这个警告信息的原因:
在仿真参数设置对话框(Configuration Parameters)中,求解器选项(Solver options)的最大步长(Max Step Size)被设成“自动”(auto)。在这种情况下,离散求解器会使用最短采样时间作为最大步长,而连续求解器使用仿真起止时间的1/50作为最大步长。模型默认的开始时间是0,结束时间是10,所以其1/50就是0.2秒。
警告的作用:
关于最大步长
最大步长是Simulink求解器按时间进行步进时所允许的最大步长——注意,这是对变步长(Variable-step)求解器而言的(你的模型出现这样的提示,肯定是变步长求解器)。如果选择的是定步长(Fixed-step)求解器,参数设置对话框里面有一个类似的项是Fixed step size (fundamental sample time),同样可以设置为auto,也会导致类似(但不完全相同)的警告。
警告的作用
按照上面所说的自动步长设置规则,你新建一个模型,默认的求解器是变步长的,而默认的最大步长是auto,这样的参数设置对于多数模型可能是适用的,但对于有些模型,这样的步长可能不合适,可能错过模型的一些重要特性,从而导致仿真结果错误。所以Simulink发出一个警告,提醒用户注意这个问题。
怎样消除这个警告:
知道了原因和作用,如果你确定仿真结果可信,只是不想看到每次仿真都出来这样一个讨厌的警告,那么也很简单,提供两种做法给你:
在前述仿真参数设置对话框中,求解器选项的最大步长(Max Step Size)设成一个明确的数而不是auto(随便什么数都可以,比如0.2)。
如果不改最大步长,那就简单屏蔽掉警告信息,这也有两种做法:
通过用户界面:从仿真参数设置对话框选择诊断选项卡(Diagnostics pane),然后设置Automatic solver parameter selection为none。
简单的用一个命令代替上述GUI操作:
set_param(gcs,'SolverPrmCheckMsg','none')
打这么多字不容易,如果满意,就采纳了给个好评吧。