2014-11-02 593 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