how would i get a while loop to repeat this code 26 times?
1 Ansicht (letzte 30 Tage)
Ältere Kommentare anzeigen
Josh Williams
am 15 Mär. 2020
Kommentiert: Josh Williams
am 15 Mär. 2020
shiptext= [22 6;38 21;24 36;2 30;6 2;15 31;22 15;24 15;10 33;29 11;32 15;29 21;31 4;25 27;29 27;10 11;35 17;15 14;22 20;21 29;23 22;3 22;33 9;8 38;10 4;11 29]
shipnumber= size(shiptext,1)
disp(shipnumber)
plot(shiptext(:,1),shiptext(:,2),'.');
idr1=randi(26,1,1);
row1=shiptext(idr1,:);
idr2=randi(26,1,1);
row2=shiptext(idr2,:);
a=row2-row1
xdistance=a(1)
ydistance=a(2)
distance=sqrt(((xdistance)^2)+((ydistance)^2));
disp(distance)
2 Kommentare
Ameer Hamza
am 15 Mär. 2020
What do you want to repeat 26 times? You can repeat a piece of code 26 times using for loop.
for i=1:26
% your code
end
Akzeptierte Antwort
Sriram Tadavarty
am 15 Mär. 2020
Hi Josh,
You can do the following
i = 1; % loop index
while i <= 26
shiptext= [22 6;38 21;24 36;2 30;6 2;15 31;22 15;24 15;10 33;29 11;32 15;29 21;31 4;25 27;29 27;10 11;35 17;15 14;22 20;21 29;23 22;3 22;33 9;8 38;10 4;11 29]
shipnumber= size(shiptext,1)
disp(shipnumber)
plot(shiptext(:,1),shiptext(:,2),'.');
idr1=randi(26,1,1);
row1=shiptext(idr1,:);
idr2=randi(26,1,1);
row2=shiptext(idr2,:);
a=row2-row1
xdistance=a(1)
ydistance=a(2)
distance(i)=sqrt(((xdistance)^2)+((ydistance)^2)); % Stores distance for each loop index
%disp(distance)
i = i+1;
end
disp (distance)
This should do what you have asked for.
Regards,
Sriram
Weitere Antworten (0)
Siehe auch
Kategorien
Mehr zu Loops and Conditional Statements 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!