How to calculate distance from one point base to multipoints and save it as a row?

5 Ansichten (letzte 30 Tage)
Hello Everyone,
I need your help in order to overcome my problem, here is my code:
AP_dist = zeros(N);
for i = 1:N
for j=1:1
p=line([MS_loc(i,1) AP_pos(1,1)], [MS_loc(i,2) AP_pos(1,2)],'Marker','.','LineStyle','-.');
X= [MS_loc(i,1),AP_pos(1,1);MS_loc(i,2),AP_pos(1,2)];
AP_dist= pdist(X,'euclidean')
pause(1)
end
end

Akzeptierte Antwort

Andrei Bobrov
Andrei Bobrov am 24 Jun. 2013
Bearbeitet: Andrei Bobrov am 24 Jun. 2013
AP_dist= sqrt(sum(bsxfun(@minus,MS_loc,AP_pos).^2,2));
OR
for jj = size(MS_loc,1):-1:1
AP_dist(jj,1) = pdist([MS_loc(jj,:);AP_pos]);
end
OR
AP_dist = arrayfun(@(ii)pdist([MS_loc(ii,:);AP_pos]),(1:size(MS_loc,1))');

Weitere Antworten (1)

Walter Roberson
Walter Roberson am 24 Jun. 2013
AP_dist(i) = pdist(X,'euclidean');
  1 Kommentar
sarah nik
sarah nik am 24 Jun. 2013
thank you for this. now i wonder whether i use the correct formula to calculate distance. because it gives different value. please help me AP_dist(i) = pdist(X,'euclidean'); or AP_dist(i) = sqrt((MS_loc(i,1) - AP_pos(j,1))^2 ... + (MS_loc(i,2) - AP_pos(j,2))^2);

Melden Sie sich an, um zu kommentieren.

Kategorien

Mehr zu Programming 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