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

0 votos

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

0 votos

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 Gravitation, Cosmology & Astrophysics en Centro de ayuda y File Exchange.

Productos

Preguntada:

el 20 de Abr. de 2021

Editada:

Jan
el 21 de Abr. de 2021

Community Treasure Hunt

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

Start Hunting!

Translated by