我正在模拟Simulink模型(使用脚本)并且当前使用toworkspace块首先将输出数据保存到工作区,然后使用这些数据在我的脚本中进一步处理。
我的simulink模型有两个输出速度和加速。
但在我的脚本中,我想模拟模型,同时使用模型输出保存或进一步使用而不使用toworkspace块。
我试过了:
set_param('mdl_name','SaveState','on','StateSaveName','State',...
'SaveOutput','on','OutputSaveName','velocity');
data=Simulink.SimulationOutput;
我希望数据具有速度值,但它会返回空值。
我需要一些建议,关于是否有另一种使用API的方法,并在通过脚本模拟它或建议改进上述脚本后访问特定的模拟输出。
答案 0 :(得分:0)
有几个原因可能导致此行为。我建议你在MATLAB命令窗口中运行“sldemo_varsize_basic”。这将启动“ToWorkspace”块的内置应用程序示例。比较此模型中的“ToWorkspace”块的参数和模型+“配置参数”中的“数据导入/导出”窗格。 我也使用基于“ToWorkspace”的方法,但我改为通过“信号记录”存储结果(在我的应用程序中,我发现处理结果更方便+每次我想记录时都不需要额外的块一个新的信号)。 linked Mathworks网站上列出了“从模拟中保存运行时数据”的完整列表。