how to find the weighted centroid, center of mass/barycenter of a 3D grid of points
19 views (last 30 days)
Show older comments
Dear all, I am new to matlab, I need to find the coordinates of the center of mass of a regular 3D grid of points, each point being weighted by an intensity value v. I have the 3D grid as a 2D matrix A, with rows A(k,:)= [xk, yk, zk, vk], where xk, yk, zk, are the coordinates of the point k, and vk is its intensity (current amplitude in my case, I am working with source imaging). I mention that the hull of the 3d grid is concave or convex at times, actually the cortical surface, with the points placed within the brain substance regularly; and the barycenter cannot be but one these 3D grid points (it cannot be, for example, outside the brain bounded by a concave surface such as a sulcus). I know this may be trivial, I appreciate your help. Tavi
0 Comments
Accepted Answer
Niko
on 30 Oct 2014
sum(bsxfun(@times,A(:,1:3),A(:,4)),1)/sum(A(:,4))
Not sure if this is what you're looking for...
More Answers (0)
See Also
Categories
Find more on Bounding Regions in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!