Can someone tell me what I am doing wrong with this loop?

1 view (last 30 days)
Ps keeps looping. I just want to stop at mstlength which is 11.
for l=1:mstlength
ls = mst(l,1);
for p=1:mstlength
ps = mst(p,2);
plot([nodes(ls,2) nodes(ps,2)],[nodes(ls,3) nodes(ps,3)],'k.-')
hold on
end
end
Thank you

Answers (1)

Thorsten
Thorsten on 25 Nov 2015
Edited: Thorsten on 25 Nov 2015
Do you want 11 runs? Then just use one loop
for l=1:mstlength
ls = mst(l,1);
ps = mst(p,2);
plot...
end
Otherwise there's nothing wrong with your loops, l runs from 1 to 11 and for each l, p runs from 1 to 11:
>> mstlength = 11;
for l=1:mstlength
%ls = mst(l,1);
for p=1:mstlength
% ps = mst(p,2);
disp(sprintf('l = %d, p = %d', l, p))
%plot([nodes(ls,2) nodes(ps,2)],[nodes(ls,3) nodes(ps,3)],'k.-')
%hold on
end
end
l = 1, p = 1
l = 1, p = 2
l = 1, p = 3
l = 1, p = 4
l = 1, p = 5
l = 1, p = 6
l = 1, p = 7
l = 1, p = 8
% more lines here...
l = 11, p = 8
l = 11, p = 9
l = 11, p = 10
l = 11, p = 11
  2 Comments
pat2ondo
pat2ondo on 25 Nov 2015
Thank for your answer. The first one did work.
for l=1:mstlength,
text(nodes(l,2),nodes(l,3),[' ' num2str(ids(l))],'Color','b','FontWeight','b')
ls = mst(l,1);
ps = mst(l,2)
plot([nodes(ls,2) nodes(ps,2)],[nodes(ls,3) nodes(ps,3)],'k.-')
hold on
end;

Sign in to comment.

Categories

Find more on Loops and Conditional Statements 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!