我有一个Simulink模型,带有一个Stateflow图表,带有一个流出范围,用于输出数组/矢量变量。我使用的是最新版本的Matlab 2013a。当我运行模拟时,这可能与此警告有关:
Warning: The model 'xxx' does not have continuous states, hence
Simulink is using the solver 'FixedStepDiscrete' instead of solver
'ode3'. You can disable this diagnostic by explicitly specifying a
discrete solver in the solver tab of the Configuration Parameters
dialog, or by setting the 'Automatic solver parameter selection'
diagnostic to 'none' in the Diagnostics tab of the Configuration
Parameters dialog
我在Simulink中查找了这些选项,将“自动求解器参数选择”诊断设置为“无”。有人可以帮我找到Simulink详细的导航来解决这个问题吗? 谢谢
答案 0 :(得分:3)
您需要选择合适的solver。要执行此操作,请右键单击模型中的空白区域,然后选择配置参数。 solver settings列在左窗格的 Solver 条目中。
从警告中看,您当前选择了变量步骤ode3 解算器。但是,模型中没有一个块支持连续状态,因此Simulink将默认返回到固定步骤离散求解器。
将类型设置为Fixed-step
,将解算器设置为Discrete
;警告应该消失。如果你确实希望最终有一个变步长求解器,那么你可能只是忽略了现在的警告,直到你为模型添加了支持连续状态的块,这将阻止Simulink自动切换求解器。
另一个选项是发出警告的disable the diagnostic。这可以通过在配置参数窗口的左窗格中选择诊断来完成。