How to create a vector from a random point cloud?

1 Ansicht (letzte 30 Tage)
Martha
Martha am 12 Mär. 2014
Bearbeitet: per isakson am 12 Mär. 2014
Hi, I have a point cloud in coordinates 'x' and 'y'. x<4794x588> and y<4794x588>. In general the shape of the point cloud is a square, and the 0,0 coordinate is at the centre, but the points do not follow a perfect orthogonal grid. I want to create a vertical vector based on the points of the point cloud by selecting all the points closer to the 0 in 'x' axis and with different 'y' from bottom to top of the point cloud. None of the points coincide with a perfect 0 coordinate in the 'x' axis.
I'll appreciate very much any help.
Thank you, Regards, Martha

Akzeptierte Antwort

dpb
dpb am 12 Mär. 2014
nC=size(x,2); % number columns for convenience
B=5; % assumed deadband about center containing the minimum distance point
c1=fix(nC/2); % midpoint
[~,ix]=min(abs(x(:,[c1-B:c1+B])),2); % location of the minimum in the strip
xMin=x(:,c1+ix); % minimum x from the full array
NB: Aircode; untested. 1) Check for any "off-by-one" errors in the indices. 2) Adjust the deadband size as appropriate depending on how far from mid could be (of course, could just use the whole thing but the idea here is to minimize the size over which the min operation has to work)

Weitere Antworten (1)

per isakson
per isakson am 12 Mär. 2014
Bearbeitet: per isakson am 12 Mär. 2014
In the File Exchange see

Community Treasure Hunt

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

Start Hunting!

Translated by