Cernter of gravity.

11 visualizaciones (últimos 30 días)
Patrick Brandt
Patrick Brandt el 20 de Abr. de 2021
Editada: Jan el 21 de Abr. de 2021
Hi, I got a 58x22x122 matrix and have to calculate the center of gravity in every single layer for its own. But I have no clue how to do it, please give advice if you know.
Thanks alot

Respuesta aceptada

Adam Danz
Adam Danz el 20 de Abr. de 2021
Learn about Center of Mass equations here

Más respuestas (1)

Jan
Jan el 20 de Abr. de 2021
Editada: Jan el 21 de Abr. de 2021
I assume you mean the center of mass. A matrix is an rectangular set of numbers. So should we assume, that the values of the matrix are the local weights?
m = 58;
n = 22;
X = rand(m, n);
R = [0, 0];
for i1 = 1:m
for i2 = 1:n
R = R + X(i1, i2) * [i1, i2];
end
end
R = R / sum(X, 'all') % Center of mass, if X(i1,i2) is the "mass"
More Matlab'ish without loops:
Rcol = sum(X .* (1:m).', 'all') / sum(X, 'all')
Rrow = sum(X .* (1:n), 'all') / sum(X, 'all')
Now create a loop and set X to each "layer" (however this is defined) of your input data.

Categorías

Más información sobre GPU Computing en Help Center y File Exchange.

Productos

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by