1

致所有 MATLAB 和 Simulink 用户,

我正在做一个项目,但在从 Simulink 块中的“来自工作区的信号”导入数据时遇到问题。

我的情况:

我需要在 22 秒的采样周期内将 565 行 2 列数据输入到我的 Simulink 框图中。每个数据采样时间为 22/565。

但是,输出数据是 [565 x 2],由于维度问题,它会影响下游 Simulink 模块的输入。

例如,理想情况下,[1 x 2] 输出乘以 [2 x 1] 并在 22 秒内重复 565 次。现在,[565 x 2] 输出信号由于尺寸原因无法通过。

我解决问题的尝试:

我尝试使用“来自工作区”而不是“来自工作区的信号”,但遇到了一些问题。

t=[0:22/565:22]' M (565 行 n 2 列值) data.time=t; 数据.signals.values = M; data.signals.dimensions=[565 2];

运行仿真时会弹出此错误:

*“在'test/From Workspace'中指定为工作空间输入的无效结构格式变量。结构'dimensions'字段必须是标量或具有2个元素的向量。此外,该字段必须与输入信号的维度兼容存储在“值”字段中。" *

如果有人可以为我的案例提供见解/解决方案/替代方法,我将不胜感激。

谢谢你!

问候,KO

4

1 回答 1

1

看起来你应该使用

data.signals.dimensions = 2;

例如

>> t= linspace(0,10,1001)';
>> data.time = t;
>> data.signals.values = [sin(t) cos(t)];
>> data.signals.dimensions = 2;
于 2013-03-26T14:38:51.823 回答