我在Simulink / SimMechanics中创建了Body,其中CS1位于CG的[0,length,0]。在模拟开始之前,我设置变量length = 1
,但我需要在模拟期间将其更改为length = 0.8
。是的,我真的想要动态改变对象的大小。
由于StateFlow中的某些事件,我正在更改它。
我尝试通过Simulink块length
将这个新To Workspace
写入Workspace,但它无法保存标量变量。
有人知道如何将标量变量从Simulink保存到Matlab Workspace吗?
答案 0 :(得分:2)
如果我理解正确你只需要从Simulink中保存Matlab中的一些标量。我遇到了同样的问题,可以给你一个例子:
所以我使用Matlab中的变量MySeed。我在Timeseries
阻止中使用ToWorkspace
选项的所有秘密,但Inherit: auto
使用FromWorkspace
。这意味着我可以在Matlab中定义MySeed,就像这种类型的Array
:[0 78]
。第一列用于Simulink中的计时,所以我不使用它。但其次只是一个数据,您可以像标量值一样使用它。 Simulink加载它并使用SECOND列(我的数据)。
我有时间模拟的问题= 6000.所以在这种情况下,我会得到如此大的数组,我真的不使用。所以你可以在Decimation
块中使用ToWorkspace
选项!我将它设置为6000,现在它在Workspace中创建时间序列,只有2个元素 - 对于t = 0和t = 6000.我用我的值制作它们,所以我可以在我的程序中使用它们。
我希望这可以帮到你!