Hello everybody
I have a trajectory like this: We assume that each red star marker can broadcast its coordinate to the green circle markers which are located within a radius of 5 units from its own position.I selected a list of n red points for each green marker according to the above explanation.
How can I calculate the euclidean distance between every two red points of the list and the select the maximum euclidean distance corresponding red points? Thanks.
%%Network Setup
anchor_num=1; % Number of anchor node
node_num=20; % Total nodes
length1=70; % Area length
anchor_x=0; % Intial position of anchor x coordinate
anchor_y=0; % Intial position of anchor y coordinate
anchormove=[];% Anchor trajectory
width=40; % Area width
r = 30; A = zeros(0,2);B = zeros(0,2);C = zeros(0,2);D = zeros(0,2);north = [ 0 6.9];east = [ 6.9 0];south = [ 0 -6.9];west = [-6.9 0];order = 4;for n = 1:order AA = [B ; north ; A ; east ; A ; south ; C]; BB = [A ; east ; B ; north ; B ; west ; D]; CC = [D ; west ; C ; south ; C ; east ; A]; DD = [C ; south ; D ; west ; D ; north ; B]; A = AA; B = BB; C = CC; D = DD;end_% Plot network trajectory
%Mtrix A contains the coordinate of red markers.
A = [0 0; cumsum(A)]p=plot(A(:,1),A(:,2))title('Plot of Hilbert trajectory');set(p,'Color','magenta ','LineWidth',2);axis([0 100 0 100]);hold on% x and y are the coordinates of green markers
x=rand(1,100)*100;y=rand(1,100)*100;scatter(x,y)anchormove(1,:)=A(:,1)'anchormove(2,:)=A(:,2)'idx=length(anchormove(1,:));for i=1:idx-1 % Plot the moving anchor node
Ax=anchormove(1,i); Ay=anchormove(2,i); plot(Ax,Ay,'r*');% Plot transmission range of the anchor node
axis([0 100 0 100]) % hold on
pause(0.1) %hold off
% turn the two x and y vectors into [x y] column format.
GreenPoints = [x;y].'; % get indexes of the points A for each Green point within 5 distance
idx = rangesearch(A,GreenPoints,5);end
Best Answer