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

5 visualizaciones (últimos 30 días)
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
  2 comentarios
sarah nik
sarah nik el 24 de Jun. de 2013
ihave N=5. the problem is. AP_dist just save the latest value. it should have 5 value as my N=5.

Iniciar sesión para comentar.

Respuesta aceptada

Andrei Bobrov
Andrei Bobrov el 24 de Jun. de 2013
Editada: Andrei Bobrov el 24 de Jun. de 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))');

Más respuestas (1)

Walter Roberson
Walter Roberson el 24 de Jun. de 2013
AP_dist(i) = pdist(X,'euclidean');
  1 comentario
sarah nik
sarah nik el 24 de Jun. de 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);

Iniciar sesión para comentar.

Categorías

Más información sobre Programming en Help Center y File Exchange.

Community Treasure Hunt

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

Start Hunting!

Translated by