Nested loops related question

5 views (last 30 days)
Nuno Palma
Nuno Palma on 15 Dec 2016
Edited: Jos (10584) on 16 Dec 2016
Let's say I have a similiar loop to this one: ( This two loops are inside another one, but the issue isn't there )
for j = 1:length(path{i})
fprintf('%d ',path{i}(j))
for k = 1:length(dist_parc{i})
fprintf(' (%d) ', dist_parc{i}(k));
end
end
With this loop ( if j = 1:2 ) , what I'm trying to obtain is something like this -> numberfromJ (numberfromK) numberfromJ. But what I'm getting is -> numberfromJ (numberfromK) numberfromJ (numberfromK). So, after the second j loop I didn't want it to go back to k.
What I'm looking for is a way to loop the main one N times and the nested loop only N-1 times. Any way I can do this?
  1 Comment
KSSV
KSSV on 16 Dec 2016
What I'm looking for is a way to loop the main one N times and the nested loop only N-1 times. Any way I can do this?
Cant be achieved like this?
for j = 1:5
for k = 1:j-1
[j,k]
end
end

Sign in to comment.

Answers (1)

Jos (10584)
Jos (10584) on 16 Dec 2016
Edited: Jos (10584) on 16 Dec 2016
for j = 1:N
% commands here are executed N times
if j < N
% commands here are executed N-1 times, for example a nested loop:
% for k = ...
% end
end
end

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!