Matlab以矩阵为中心

时间:2012-11-04 16:36:15

标签: matlab matrix

我想将矩阵居中于其平均值

A[i][j] = A[i][j]-mean(A,j)

所以我从每个点中减去相应列的平均值。 我找不到一个以数据为中心的功能,而且创建我自己的

并不是很简单

2 个答案:

答案 0 :(得分:8)

>> A=[1 4 7;2 5 8;3 6 9]

A =

     1     4     7
     2     5     8
     3     6     9

>> A-repmat(mean(A),size(A,1),1)

ans =

    -1    -1    -1
     0     0     0
     1     1     1

答案 1 :(得分:7)

A = bsxfun(@minus,A,mean(A));

例如:

A = magic(5);
A = bsxfun(@minus, A, mean(A))
A =

     4    11   -12    -5     2
    10    -8    -6     1     3
    -9    -7     0     7     9
    -3    -1     6     8   -10
    -2     5    12   -11    -4