# For loop not working

4 views (last 30 days)
Joel Schelander on 12 Mar 2021
Commented: Joel Schelander on 12 Mar 2021
I am looping over one year in minutes. However the script stops looping values at T=49716 for some reason. Then element j=1248 in matrix B
B has one column saying which minute of the year that the value in the second column appears (13377x2 double)
How can I make it loop for the entire year?
for T=1:525600
if T~=B(j,1)
A(T)=0;
elseif T==B(j,1)
A(T)=B(j,2);
j=j+1;
end
end

Jan on 12 Mar 2021
The loop does run over all T. Why do you think, that the loop stops?
A = zeros(1, 525600); % Pre-allocation, faster and simpler code
j = 1; % Assumption
for T = 1:525600
if T == B(j, 1)
A(T) = B(j, 2);
j = j + 1;
end
end
Equivalent code without a loop:
A = zeros(1, 525600);
A(B(:, 1)) = B(:, 2):
Joel Schelander on 12 Mar 2021
It worked without the loop, thank you Jan

R2019a

### Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!