Center of mass and total mass of a matrix
tot_mass = sum(A(:));
[ii,jj] = ndgrid(1:size(A,1),1:size(A,2));
R = sum(ii(:).*A(:))/tot_mass;
C = sum(jj(:).*A(:))/tot_mass;
out = [tot_mass,R,C]
OR
x = 1 : size(A, 2); % Columns.
y = 1 : size(A, 1); % Rows.
[X, Y] = meshgrid(x, y)
meanA = mean(A(:))
centerOfMassX = mean(A(:) .* X(:)) / meanA
centerOfMassY = mean(A(:) .* Y(:)) / meanA
% Method 2: using regionprops
props = regionprops(true(size(A)), A, 'WeightedCentroid')

本文介绍如何通过MATLAB代码计算二维矩阵的质心坐标及其总质量。提供了两种方法:一种是直接使用数学公式计算;另一种是利用regionprops函数进行计算。适用于需要了解图像处理或信号处理中关于质量分布特性的读者。
1万+

被折叠的 条评论
为什么被折叠?



