How to find the center of matrix

26 次查看(过去 30 天)
Dear all helper,
I want like to calculate the center of force in 2 point that I draw in the red color by using matlab.
Here is attech file of the csv data.
  3 个评论
Mingde
Mingde 2022-5-25
Center of force and center of mass are the same.
Here is the sample data(CSV file) for measuring the center of force.
DGM
DGM 2022-5-25
Your data is 14925x10, with periodic rows of NaN every 17 rows. It's not clear what this data represents or how the NaNs should be treated. Is this a contiguous 2D region? Multiple independent 2D regions? A 3D volume? Are the NaN rows merely delimiters/breaks to be discarded, or do they have numerical meaning? If they are to be kept, how should they be handled?

请先登录,再进行评论。

采纳的回答

DGM
DGM 2022-5-25
编辑:DGM 2022-5-25
This seems fairly straightforward.
% a test array
F = zeros(5);
F(2,2) = 10;
F(4,4) = 10;
% global sum of F
Ft = sum(F(:))
Ft = 20
% coordinates of F centroid
cy = sum((1:size(F,1)).'.*sum(F,2))/Ft
cy = 3
cx = sum((1:size(F,2)).*sum(F,1))/Ft
cx = 3
% visualize the result
imshow(F,[]); hold on
plot(cx,cy,'*','markersize',20)
  5 个评论
Image Analyst
Image Analyst 2022-5-27
You never answered his questions about whether your multiple regions are to be treated as a single region, or whether you want the location of the centroid for each region individually. But he gave you the centroid of all regions as if they were a single region and you accepted so I guess that's what you wanted.

请先登录,再进行评论。

更多回答(1 个)

Image Analyst
Image Analyst 2022-5-26
Did you try
data(isnan(data)) = 0;
mask = data ~= 0;
props = regionprops('table', mask, data, 'WeightedCentroid');

类别

Help CenterFile Exchange 中查找有关 Creating and Concatenating Matrices 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by