2013-02-12 68 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