我必须有两个大小均匀的非常大的矢量(列)A和B.我想用矢量B分割矢量A.这会给我一个大的矩阵AxB,用零填充,最后一列除外。此列包含我感兴趣的值。当我简单地将矢量分成Matlab脚本时,我用完了内存。可能是因为矩阵AxB变得非常大。大概我可以防止这种通过重复发生以下操作:Matlab - 矢量除以矢量,使用循环
计算矩阵的第一行AXB
滤波器的最后一个值,并把它到其他载体C.
删除矩阵AXB
重做步骤1-4在矢量A
我怎样才能做到这一点?
我必须有两个大小均匀的非常大的矢量(列)A和B.我想用矢量B分割矢量A.这会给我一个大的矩阵AxB,用零填充,最后一列除外。此列包含我感兴趣的值。当我简单地将矢量分成Matlab脚本时,我用完了内存。可能是因为矩阵AxB变得非常大。大概我可以防止这种通过重复发生以下操作:Matlab - 矢量除以矢量,使用循环
计算矩阵的第一行AXB
滤波器的最后一个值,并把它到其他载体C.
删除矩阵AXB
重做步骤1-4在矢量A
我怎样才能做到这一点?
你的问题并没有说清楚你正在做什么,尽管它听起来像你想做一个明智的分工。
尝试:
C = A./B
“矩阵乘积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
什么是B^-1?你是否将'A'乘以'B'的元素倒数? – Jonas 2013-02-12 17:45:17
你可以用你用来将A除以B的代码更新你的问题 – slayton 2013-02-12 18:59:21