如何使用simulink将矢量或矩阵输出到工作空间?

问题描述 投票:0回答:1

我认为这是一个相当简单的事情,但我似乎无法获得正在寻找的正确输出。我正在使用矩阵来表示simulink中的状态空间模型,我试图将状态输出到工作空间,

它是一个简单的4x1向量,我尝试使用常规的“工作区”块,但似乎它连接到2d或3d矢量..

我想要一个tx4矩阵输出,我可以引用第一个状态,并绘制所有模拟时间(t),如x(:,1),第二个状态x(:,2)等...

matlab vector simulink state-space
1个回答
1
投票

你可以在save format区块设置一个To Workspace。默认设置为timeseries,但您可以将其设置为Array

查看Array设置的doc:

如果输入信号是标量或矢量,则每个输入样本作为阵列的一行输出。假设输出数组的名称是simout。然后,simout(1,:)对应于第一个样本,simout(2,:)对应于第二个样本,依此类推。

你希望第一个维度不是时间,而是你的状态向量,所以转换simout就可以了。

simout = simout.';    % or tranpose(simout);
© www.soinside.com 2019 - 2024. All rights reserved.