Simulink:'到工作空间'获取标量值

时间:2014-01-13 14:37:21

标签: matlab simulink

我想将一个标量变量从Simulink Diagram导出到Matlab工作区。

Simulink Diagram

虽然我知道在模拟过程中可以更改'Chemin'的值,但我只想将初始值导出到工作区;我不想要一个TimeSerie变量(比如'To Workspace'块会这样做),我只想要一个标量值。

提前感谢您的帮助!

2 个答案:

答案 0 :(得分:2)

使用Enabled Subsystem,您可以轻松完成此操作。使用常量(= 0)和初始条件块(= 1),除t = 0外,始终使启用信号为false,如下图所示。

High level model
启用子系统内部有

Inside the subsystem
将保存格式设置为Array。然后,simout变量将是标量值。

答案 1 :(得分:1)

我认为你不能做你想做的事。 Simulink中的所有内容都是基于时间的,因此您必须将整个变量作为时间函数保存到工作区。但是,您可以在StopFcn中添加model callback,它只提取第一个值并清除工作区中与时间相关的变量,例如:

chemin_0 = chemin(1); % assuming chemin is the name of the time-dependent variable saved to workspace
clear chemin

模拟停止后执行StopFcn回调。