Matlab simulink块转换矩阵
我有一个1x512矩阵“u”,需要使用以下公式将其转换为1x128: ua=u(1:128)+u(129:256)+u(257:384)+u(385:512) 这在工作区中有效,但在simulink中无效。我已尝试添加Fcn功能块,但出现以下错误:Matlab simulink块转换矩阵,matlab,simulink,Matlab,Simulink,我有一个1x512矩阵“u”,需要使用以下公式将其转换为1x128: 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
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块帮助文件“此块不支持冒号运算符(:)”中发现了这一点
我需要使用不同的块类型吗?看起来Fcn在索引时不接受
:
,而且它不接受复杂输入,只接受真实输入,所以我不会使用它
相反,我建议使用4个块并用一个求和块求和它们的输出,这要容易得多。2个问题:为什么需要在Simulink中这样做?你能告诉我们你到底用了哪个块(你的问题不清楚),实际的代码是什么,块的输入是什么吗?这个块叫做Fcn“将指定的表达式应用于输入”。块的输入是FFT块的输出,其中包含512个二进制复数双值。从帮助文件“u-块的输入。如果u是向量,u(i)表示向量的第i个元素;u(1)或u单独表示第一个元素。”出于某种原因,块无法识别范围运算符“:”你能检查信号的实际尺寸为512吗?我怀疑这不是。。。