I have matrix F (x,y coordinates), which is 1000*2 matrix. i calculated distances between coordinates using PDIST2 command. i want coordinates which are at distance greater than 22?

2 Ansichten (letzte 30 Tage)
F = [x5;y5]'; % x,y coordinates
distances = pdist2(F,F); %% claculating distances between every coordinate to all other coodinates
closepoints = distances > 22; %% checking the condition
result = find(closepoints==1); %%
based on the logical condition how to get the coordinates (x,y) which are grater than 22
  4 Kommentare
madhan ravi
madhan ravi am 4 Feb. 2019
So you want to obtain the x and y coordinates when distance is greater than 22 ?

Melden Sie sich an, um zu kommentieren.

Akzeptierte Antwort

Akira Agata
Akira Agata am 4 Feb. 2019
One possible solution would be like this:
F = [x5;y5]'; % x,y coordinates
D = pdist(F); % pdist function is suitable in this case
idx = squareform(D) > 22;
[p1,p2] = find(triu(idx));
Then, F(p1(i),:) and F(p2(i),:) (for i = 1, ..., numel(p1)) will give the coordinates (x1,y1) and (x2,y2) whose distance are grater than 22.
  7 Kommentare
M.Prasanna kumar
M.Prasanna kumar am 6 Feb. 2019
Bearbeitet: M.Prasanna kumar am 6 Feb. 2019
coordinate A(x1,y1)
coordinate B(x2,y2)
coordinate C(x3,y3)
coordinate D(x4,y4)
and so on
distance between A to B, A to C and A to D should be greater than 22
distance between B to A, B to C and B to D should be greater than 22
distance between C to A, C to B and C to D should be greater than 22
distance between D to A, D to B and D to C should be greater than 22
and so on
like that how many such coordinates are possible . i want all such coordinates
for example:
In the above graph coordinate B voilates the condition i explainbed above, where as if we remove coordinate B from graph Coordnates A,B,C satisfies the condition i explained above.
M.Prasanna kumar
M.Prasanna kumar am 6 Feb. 2019
In your case F is 4*2, out of four coordinates 3 coordinates are satisfying the condition (all possible distances between every coordinate to all other coordintes is greater than 22)
suppose In my case F is 1000*2 (randomly generated ) . out ofthousand how many such possible coordinates will satisfy the condition

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Kategorien

Mehr zu Statistics and Machine Learning Toolbox finden Sie in Help Center und File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by