Cernter of gravity.
11 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
Patrick Brandt
el 20 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
0 comentarios
Respuesta aceptada
Más respuestas (1)
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.
0 comentarios
Ver también
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!