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