我想将一个标量变量从Simulink Diagram导出到Matlab工作区 .
虽然我知道'Chemin'的值可以在模拟过程中更改,但我只想将初始值导出到工作区;我不想要一个TimeSerie变量(就像'To Workspace'块一样),我只想要一个标量值 .
预先感谢您的帮助!
我认为你不能做你想做的事 . Simulink中的所有内容都是基于时间的,因此您必须将整个变量作为时间函数保存到工作区 . 但是,您可以在 StopFcn 中添加model callback,它仅提取第一个值并从工作空间中清除与时间相关的变量,例如:
StopFcn
chemin_0 = chemin(1); % assuming chemin is the name of the time-dependent variable saved to workspace clear chemin
模拟停止后执行 StopFcn 回调 .
您可以使用Enabled Subsystem轻松完成此操作 . 通过使用常数(= 0)和初始条件块(= 1),使除了t = 0之外的所有时间都使能信号为假,如下图所示 .
启用子系统内部有
将保存格式设置为Array . 然后,simout变量将是标量值 .
2 回答
我认为你不能做你想做的事 . Simulink中的所有内容都是基于时间的,因此您必须将整个变量作为时间函数保存到工作区 . 但是,您可以在
StopFcn
中添加model callback,它仅提取第一个值并从工作空间中清除与时间相关的变量,例如:模拟停止后执行
StopFcn
回调 .您可以使用Enabled Subsystem轻松完成此操作 . 通过使用常数(= 0)和初始条件块(= 1),使除了t = 0之外的所有时间都使能信号为假,如下图所示 .
启用子系统内部有
将保存格式设置为Array . 然后,simout变量将是标量值 .