Cernter of gravity.

2 Ansichten (letzte 30 Tage)
Patrick Brandt
Patrick Brandt am 20 Apr. 2021
Bearbeitet: Jan am 21 Apr. 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

Akzeptierte Antwort

Adam Danz
Adam Danz am 20 Apr. 2021
Learn about Center of Mass equations here

Weitere Antworten (1)

Jan
Jan am 20 Apr. 2021
Bearbeitet: Jan am 21 Apr. 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.

Kategorien

Mehr zu Mathematics finden Sie in Help Center und File Exchange

Produkte

Community Treasure Hunt

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

Start Hunting!

Translated by