Why in the code given below the number of iterations of the second - for loop ('j') decreases at each iteration of first - for loop ('l')?

2 views (last 30 days)
for l=1:N-1
disp(['l: ',num2str(l)])
for j=1:N-l
disp(['j: ',num2str(j)])
length = length+1;
end
end
The output iterations are showing like this. Why 'j' is decreasing at each iteration of 'l'?
l: 1
j: 1
j: 2
j: 3
j: 4
j: 5
j: 6
j: 7
j: 8
j: 9
l: 2
j: 1
j: 2
j: 3
j: 4
j: 5
j: 6
j: 7
j: 8
l: 3
j: 1
j: 2
j: 3
j: 4
j: 5
j: 6
j: 7
l: 4
j: 1
j: 2
j: 3
j: 4
j: 5
j: 6
l: 5
j: 1
j: 2
j: 3
j: 4
j: 5
l: 6
j: 1
j: 2
j: 3
j: 4
l: 7
j: 1
j: 2
j: 3
l: 8
j: 1
j: 2
l: 9
j: 1

Accepted Answer

VBBV
VBBV on 6 Jun 2023
For each iteration of I , the j counter is reduced by N- I instead of N-1
N = 5;
length = 0;
for I=1:N-1
disp(['l: ',num2str(l)])
% ------>> I
for j=1:N-I
disp(['j: ',num2str(j)])
length = length+1;
end
end
l: 1
j: 1 j: 2 j: 3 j: 4
l: 2
j: 1 j: 2 j: 3
l: 3
j: 1 j: 2
l: 4
j: 1
  1 Comment
VBBV
VBBV on 6 Jun 2023
Edited: VBBV on 6 Jun 2023
Every time J for loop is iterated, the limit for J loop iteration is changed by I for loop counter increment i.e when N = 3 and I increments from 1 to 2 , the max limit for J for loop is changed by 3-1 , 3-2 etc

Sign in to comment.

More Answers (0)

Categories

Find more on Signal Generation and Preprocessing 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!