2013-02-12 218 views
0

我必須有兩個大小均勻的非常大的矢量(列)A和B.我想用矢量B分割矢量A.這會給我一個大的矩陣AxB,用零填充,最後一列除外。此列包含我感興趣的值。當我簡單地將矢量分成Matlab腳本時,我用完了內存。可能是因爲矩陣AxB變得非常大。大概我可以防止這種通過重複發生以下操作:Matlab - 矢量除以矢量,使用循環

  1. 計算矩陣的第一行AXB

  2. 濾波器的最後一個值,並把它到其他載體C.

  3. 刪除矩陣AXB

  4. 重做步驟1-4在矢量A

中的所有行的行使用

我怎樣才能做到這一點?

+0

什麼是B^-1?你是否將'A'乘以'B'的元素倒數? – Jonas 2013-02-12 17:45:17

+0

你可以用你用來將A除以B的代碼更新你的問題 – slayton 2013-02-12 18:59:21

回答

0

你的問題並沒有說清楚你正在做什麼,儘管它聽起來像你想做一個明智的分工。

嘗試:

C = A./B 
0

「矩陣乘積AXB」 和 「分割載體」 是不同的操作。 如果我們理解這一點正確的,你做什麼要計算是「從AXB C =最後一列」,使得:

lastcolsel=zeros(size(B,2),1) 
C=(A*B)*lastcolsel 

如果代碼傷了你的內存限制,記得矩陣產品是聯想(MXN) xP = Mx(NxP)。簡化你的例子,我們得到:

lastcolsel=zeros(size(B,2),1) 
simplifier=B*lastcolsel 
C=A*simplifier