Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/matlab/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Matlab将矩阵中心化为其平均值_Matlab_Matrix - Fatal编程技术网

Matlab将矩阵中心化为其平均值

Matlab将矩阵中心化为其平均值,matlab,matrix,Matlab,Matrix,我想把一个矩阵的中心对准它的平均值 A[i][j] = A[i][j]-mean(A,j) 所以我从每个点减去相应列的平均值。 我找不到一个函数来集中我的数据,创建自己的数据也不是很简单 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

我想把一个矩阵的中心对准它的平均值

A[i][j] = A[i][j]-mean(A,j)
所以我从每个点减去相应列的平均值。 我找不到一个函数来集中我的数据,创建自己的数据也不是很简单

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
例如:

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

我发现了这一点:也许做同样的事情detrend(一个“常数”);我应该选择这两种方法中的哪一种?我想我的方法很简单,如果您稍后返回代码,您可以很容易地理解正在发生的事情。此外,
detrend
还有一些附加选项,比如断点和你不关心的东西,所以
repmat
可能会做得更快。好的,我有一个问题。我创建了一个随机脚本来实现中心:函数D=center(a)f=mean(a);对于i=1:size(A,2),D(:,i)=A(:,i)-f(i);为什么与其他2个相比速度如此之慢?在matlab中使用矢量化代码而不是循环更快。我发现了一个:可能做同样的事情detrend(A,'constant');我应该选择这两种方法中的哪一种?我想我的方法很简单,如果您稍后返回代码,您可以很容易地理解正在发生的事情。此外,
detrend
还有一些附加选项,比如断点和你不关心的东西,所以
repmat
可能会做得更快。好的,我有一个问题。我创建了一个随机脚本来实现中心:函数D=center(a)f=mean(a);对于i=1:size(A,2),D(:,i)=A(:,i)-f(i);为什么它比其他2个版本慢?在matlab中使用矢量化代码而不是循环更快。@nikosdi您使用的是哪个matlab版本?@Eastsun Hmmm。。。由于某种原因,这个例子看起来很熟悉…:-)(+1)@nikosdi您使用了哪个matlab版本?@Eastsun-Hmmm。。。由于某种原因,这个例子看起来很熟悉…:-)(+1)