在Simulink中访问/索引数组

时间:2017-02-07 14:37:37

标签: simulink

我的模型中有一个2D矩阵/数组,如图所示。我需要能够随机索引/访问它并将其作为信号传递。我该怎么做?

我不能使用From File块,因为我的嵌入式设计强制存储的容量是双倍和太大。

似乎没有我可以使用From Workspace块...因为这个数组在我的模型中被定义为SoundArray。

这看起来应该很简单,但我无法弄清楚。我能想到的唯一方法是使用自定义C代码......我不想这样做。

由于

Array Definition and Model At Bottom

1 个答案:

答案 0 :(得分:0)

如果matlab功能块(以前称为EML块)位于“参数”范围中并且您在功能块中定义了参数输入,则它可以获取模型工作区数据。然后,您可以使用其他输入来控制随机访问,然后将所需位置作为Matlab功能块的信号输出返回。

function y = fcn(i,j,soundArray)
y = soundArray(i,j);

(其中soundArray定义为参数,i和j是输入)

编辑: 或者定义数据存储内存(添加定义块)。然后为该存储器放置一个数据存储读取块,该块被路由到具有2维的选择器块和这两个维度的“起始索引(端口)”。 我相信您可以使用Model Workspace数据初始化数据存储内存,但我不认为模拟工作区数据在模拟过程中是“实时”的。