1

我想将矩阵中心化到它的平均值,

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

所以我从每个点减去相应列的平均值。我找不到使数据居中的功能,而且创建自己的功能也不是很简单

4

2 回答 2

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
于 2012-11-04T16:49:56.947 回答
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
于 2012-11-04T16:46:50.787 回答