HP Prime: Center of Mass - Matrix Representation
The HP Prime
program CENTERMTX calculates the center of mass of the matrix M, where M
represents the body. The entries of M
represents an array of molecules, each with assigned weights. It is possible that the center of mass is
located outside of the body.
Note: If gravity affects the particles equally,
then the center of mass & center of gravity are identical.
Formulas:
Xc = ∑(x *
m)/∑m
Yc = ∑(y *
m)/∑m
HP Prime: CENTERMTX
EXPORT
CENTERMTX(m)
BEGIN
// Center of Mass: matrix
// Matrix of mass
LOCAL s,tm,rt,ct,r,c;
// in MAKEMAT I=row,J=col
s:=SIZE(m);
r:=s(1);
c:=s(2);
// Total Mass
tm:=TRN(m*MAKEMAT(1,c,1))*
MAKEMAT(1,r,1);
tm:=tm(1,1);
// Row Total
rt:=TRN(m*MAKEMAT(I,c,1))*
MAKEMAT(1,r,1);
rt:=rt(1,1);
// Column Total
ct:=TRN(TRN(m)*MAKEMAT(I,r,1))*
MAKEMAT(1,c,1);
ct:=ct(1,1);
// center
RETURN [[rt/tm,ct/tm]];
END;
Example: Locate the center of mass of the following
body.
The center of
mass: [[ 2.08333333333, 2 ]]
Eddie
This blog is property
of Edward Shore. 2015.