计算矩阵的质心

use*_*071 3 matlab algebra linear-algebra

我有以下5 x 5矩阵A:

1 0 0 0 0 
1 1 1 0 0 
1 0 1 0 1 
0 0 1 1 1 
0 0 0 0 1
Run Code Online (Sandbox Code Playgroud)

我试图在matlab中找到质心,所以我可以找到散射矩阵:

Scatter = A*Centroid*A'
Run Code Online (Sandbox Code Playgroud)

我的线性代数非常生疏,所以我希望手工操作,以帮助我弄清楚如何在matlab中编程.提前致谢.

我不确定如何获得质心.帮助和步骤将不胜感激.先感谢您.

Vid*_*dar 5

如果您通过质心表示矩阵的"质心",则需要考虑矩阵中每个"1"的位置.我通过使用meshgrid函数完成了以下操作:

M =[    1 0 0 0 0; 
        1 1 1 0 0; 
        1 0 1 0 1; 
        0 0 1 1 1; 
        0 0 0 0 1];

[rows cols] = size(M);

y = 1:rows;
x = 1:cols;

[X Y] = meshgrid(x,y);

cY = mean(Y(M==1))
cX = mean(X(M==1))
Run Code Online (Sandbox Code Playgroud)

产生cX = 3和cY = 3;

对于

M = [1 0 0;
     0 0 0;
     0 0 1];
Run Code Online (Sandbox Code Playgroud)

结果是cX = 2; cY = 2,如预期的那样.