如何将向量从工作区导入到Matlab中的Simulink?

时间:2018-11-27 10:51:46

标签: matlab vector simulink

我想从工作区中将一个大小为800000 * 1的一维数组导入simulink中。但是,诸如“ Simin”之类的块需要一个二维矩阵作为输入。我应该再用一块吗? 使用simin块导入向量时出现以下错误:

  

在“ G711decoder / From Workspace”中指定为工作区输入的无效变量。该变量可以是矩阵,也可以是Simulink.SimulationData.Dataset对象,其元素包含矩阵数据。矩阵数据必须是实数,双精度,二维和至少两列。第一列必须包含时间值,其余列必须包含数据值。矩阵值不能为Inf或NaN。

2 个答案:

答案 0 :(得分:1)

我不知道您是否仍然对答案感兴趣。 Simulink需要时间向量,但是如果您只想导入向量,例如: [2 12 -4 5] 您只需要在乞讨处添加一个0:

[0 2 12 -4 5]

就像说您的向量仅在时间0存在,您从工作空间中提取它,然后使用它,然后再次调用它,您将必须更新向量上的时间,换句话说,0变成1然后是a 2然后3 bla bla bla

答案 1 :(得分:0)

您可以为此使用常量块。

首先,我在工作区中创建了一个变量作为 sample_matris (5x5)。

sample_matris = rand(5,5);

这是在工作区中创建的值。

enter image description here

然后我使用常量并输入在工作区中定义的变量的名称。

enter image description here

您可以看到,通过在 simulink 中使用常量块,我可以使用在工作区中定义的值。如果您需要矩阵的特定索引,您可以使用 Simulink 中的选择器块。