从matlab中的5x5矩阵中减去单个列矩阵

时间:2014-11-05 23:56:12

标签: matlab matrix subtraction

所以说我有一个5x1和5x5矩阵B的列矩阵A.我想从B中的每一列中减去A.

[b1,1 - a1   b1,2 - a1    b1,3 - a1     b1,4 - a1    b1,5 - a1]
[b2,1 - a2 ...................................................]
[b3,1 - a3 ............ 
[b4,1 - a4 ............
[b5,1 - a5 ..... etc
是的,这是一个非常糟糕的描述,但我希望它能说明问题。我知道,如果你说B - A,它会自动执行此操作。但是在matlab中它不会。

2 个答案:

答案 0 :(得分:4)

以下是一些选项:

通过重复列,将A变为5x5矩阵:

B-repmat(A,1,size(B,2))

强制性的bsxfun方法:

bsxfun(@minus,B,A)

答案 1 :(得分:0)

创建一个矩阵,其中有5个副本a作为列,然后从B中减去它:

C = B - repmat(a, 1, 5)