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')?

1 view (last 30 days)
BIPIN SAMUEL on 6 Jun 2023
Edited: VBBV on 6 Jun 2023
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

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
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