How can I find distances between 100 points such that I have a set of distances of each point from rest of the points.

3 visualizaciones (últimos 30 días)
Hi Everyone,
I have distributed 100 points randomly in a 100x100x100 m3 3D space. I want to find distance of each point from rest of 99 points such that I have a distance set of 4950 different values. so the distance of 1st node from resy 99 nodes and then distance of 2nd node from rest 98 nodes and so on.
I cannot change the style of the code since I have values saved in these variables.
I have following code:
Close all
Clear all
n=100;
xm=100;
ym=100;
zm=100;
x=0;
y=0;
z=0;
for i=1:1:n
for j=1:1:i
for k=1:1:j
if (i==j && j==k & k==i) % so I dont get 100x100x100 different values and only 100 values with x,y,z coordinates.
S(i).xd=(1,1)*xm; %I cannot change this
XR(i)=S(i).xd;
S(j).yd=rand(1,1)*ym;
YR(j)=S(j).yd;
S(k).zd=rand(1,1)*zm;
ZR(k)=S(k).zd;
Points=[XR;YR;ZR]
end
end
end

Respuestas (1)

Ameer Hamza
Ameer Hamza el 2 de En. de 2021
Just use pdist() function
X = [..]; % create 100x3 matrix
dists = pdist(X)
  3 comentarios
Ameer Hamza
Ameer Hamza el 2 de En. de 2021
Yes, It seems that from your code. There are easier ways to create the matrix [XR;YR;ZR] than using a triple for-loop, but it depends on how your data is stored in the struct. If you can share a sample struct in a .mat file, then I can suggest an easier solution. But if your for-loop works for you, then that is fine too.
Tamoor Shafique
Tamoor Shafique el 3 de En. de 2021
Please see attached. I am not good with Matlab if there are esier ways I don't mind adapting as long as it gives me distribution of nodes in full 100x100x100 network and then splits it into 27 sub cubes so i can get local info about each subnode like data in 27 sets.

Iniciar sesión para comentar.

Categorías

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

Productos


Versión

R2020a

Community Treasure Hunt

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

Start Hunting!

Translated by