我认为这是一个相当简单的事情,但我似乎无法获得正在寻找的正确输出。我正在使用矩阵来表示simulink中的状态空间模型,我试图将状态输出到工作空间,
它是一个简单的4x1向量,我尝试使用常规的“工作区”块,但似乎它连接到2d或3d矢量..
我想要一个tx4矩阵输出,我可以引用第一个状态,并绘制所有模拟时间(t),如x(:,1),第二个状态x(:,2)等...
你可以在save format区块设置一个To Workspace
。默认设置为timeseries
,但您可以将其设置为Array
。
查看Array设置的doc:
如果输入信号是标量或矢量,则每个输入样本作为阵列的一行输出。假设输出数组的名称是
simout
。然后,simout(1,:)
对应于第一个样本,simout(2,:)
对应于第二个样本,依此类推。
你希望第一个维度不是时间,而是你的状态向量,所以转换simout
就可以了。
simout = simout.'; % or tranpose(simout);