下面这句是在百度百科上面看到的非常形象,比官方给出的好,谢谢百度百科bsxfun()函数的编辑作者
“
”
列举第一种情况
例一:矩阵与向量 减法运算@minus
例二:向量与向量 减法运算@minus
例一:矩阵与向量 减法运算@minus >> A = [1 2 10; 1 4 20;1 6 15] A =1 2 10 1 4 20 1 6 15 |
>> mean(A) ans = 1 4 15 |
>> C = bsxfun(@minus, A, mean(A)) C =0 -2 -5 0 0 5 0 2 0 |
具体计算过程 A = |
为了计算,需要将mean(A)向量,变成与A矩阵大小相同的矩阵3X3, 所以,需要对mean(A)扩充,扩充方式就是,将1X3的向量, 复制三次,变成3X3的矩阵。 >> repmat(mean(A),3,1) ans =1 4 15 1 4 15 1 4 15 |
然后两个矩阵相减 >> A-repmat(mean(A),3,1) |
例二:向量与向量 减法运算@minus >> a=[1 2 3] |
>> b=[2 3 4]' b = 2 3 4 |
c= bsxfun(@minus, a, b) c = -1 0 1 -2 -1 0 -3 -2 & |