How do i create a loop to calculate distance between a set of coordinates
6 views (last 30 days)
Show older comments
Jonathan Dely
on 26 Oct 2019
Commented: Jonathan Dely
on 26 Oct 2019
Hi, very new to MATLAB, and im trying to create a loop to calculate the length of bars in a section of a truss. I have the set of coordinates i want to find the distance between. when i 'run it', it returns 34 values instead of the required 17.
Im not sure where im going wrong & is there a more consice/ easier way of achieving this. Also how would i get the L value to return as a [17 x 1] array?
many thanks
%Calculate the length of memebers in truss
%Set of coordinates each Bar spans between.
%B1 = bar 1.
%B1 spans betweeen (0 0 0) & (2000 3232.0508 0)
B1 =[0 0; 2000 3232.0508];
B2 =[ 2000 3232.0508; 4500 4098.0762];
B3 =[4500 4098.0762; 6000 4617.6915];
B4 =[6000 4617.6915; 7500 4098.0762];
B5 =[7500 4098.0762; 10000 3232.0508];
B6 =[10000 3232.0508;12000 0];
B7 =[12000 0;9000 1500 ];
B8 =[9000 1500; 6000 1500];
B9 =[6000 1500; 3000 1500];
B10 =[0 0; 3000 1500];
B11 =[ 2000 3232.0508; 3000 1500];
B12 =[4500 4098.0762; 3000 1500];
B13 =[4500 4098.0762; 6000 1500];
B14 =[6000 4617.6915; 6000 1500];
B15 =[7500 4098.0762; 6000 1500];
B16 =[7500 4098.0762; 9000 1500];
B17 =[10000 3232.0508; 9000 1500];
%Loop to iterate for every bar in truss
for B = [B1,B2,B3,B4,B5,B6,B7,B8,B9,B10,B11,B12,B13,B14,B15,B16,B17]
L = pdist(B,'Euclidean')
end
1 Comment
darova
on 26 Oct 2019
Try to display B matrix
for B = [B1,B2,B3,B4,B5,B6,B7,B8,B9,B10,B11,B12,B13,B14,B15,B16,B17]
B
sprintf('---\n')
% L = pdist(B,'Euclidean')
end
See if it is correct
Accepted Answer
David Hill
on 26 Oct 2019
I think it is much easier to work in a matrix.
B =[0 0; 2000 3232.0508; 4500 4098.0762; 6000 4617.6915; 7500 4098.0762; 10000 3232.0508;12000 0;9000 1500; 6000 1500; 3000 1500];
l=squareform(pdist(B));%this gives you all combinations of points (l(5,8) is the distance between point 5 and 8)
L=[diag(l,1);l(1:3,10);l(3:5,9);l(5:6,8)];
More Answers (0)
See Also
Categories
Find more on Structural Analysis in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!