2014-11-02 339 views
0

我有1x512矩阵的 “u” 我需要使用下面的公式转换为1x128:Simulink模块转换矩阵

UA = U(1:128)+ U(129:256)+ U (257:384)+ u(385:512)

这可以在工作区中使用,但不能在simulink中使用。我试着加入FCN功能块,并得到一个这样的错误:

Error while parsing expression: u(1:128)+u(129:256)+u(257:384)+u(385:512) 
in 'osverlapsave/Fcn' token ":" was found, where as ")" was expected 

我发现这个在FCN块的帮助文件“此块不支持冒号运算符(:)。”

我需要使用不同的块类型吗?

+0

2问题:为什么你需要在Simulink中做到这一点?你能告诉我们你使用了哪一个块(你的问题并不清楚),实际代码是什么,以及块的输入是什么? – am304 2014-11-02 16:20:39

+0

该块称为Fcn“将指定的表达式应用于输入”。块的输入是FFT块的输出,其中包含512个双精度复数值。 从帮助文件“u - 输入到块如果u是一个向量,u(i)代表向量的第i个元素; u(1)或u代表第一个元素。出于某种原因,该块无法识别范围运算符':' – k3it 2014-11-02 16:23:45

+0

您可以检查信号实际上是否是512维?我怀疑它不是... http://www.mathworks.co.uk/help/simulink/ug/displaying-signal-properties.html#f15-90115 – am304 2014-11-02 17:17:02

回答

1

它看起来像Fcn不接受:索引时,再加上它不接受复杂的输入,只有真正的投入,所以我不会使用它。相反,我会建议使用4 selector块,并用sum块总结它们的输出,这很容易。

+0

选择块很好,谢谢! – k3it 2014-11-02 18:13:50