致所有MATLAB和Simulink用户
我正在做一个项目,并且在Simulink块中从'Signal From Workspace'导入数据时遇到问题。
我的情况:
我需要在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; data.signals.values = M; data.signals.dimensions = [565 2];
运行模拟时会弹出此错误:
*“在'test / From Workspace'中指定为工作空间输入的无效结构格式变量。结构'维数'字段必须是标量或带有2个元素的向量。此外,此字段必须与维度兼容输入信号存储在'values'字段中。“*
如果有人能为我的案例提供见解/解决方案/替代方法,我深表感谢。
谢谢!
此致 KO
答案 0 :(得分:1)
看起来你应该使用
data.signals.dimensions = 2;
例如
>> t= linspace(0,10,1001)';
>> data.time = t;
>> data.signals.values = [sin(t) cos(t)];
>> data.signals.dimensions = 2;