for loop does not iterate and store data

Please, how do I fix a for loop to store some counters obtained from a while loop.
close all;clear;clc;
NumberofSimulation = 10; % Number of simulations
StoreCounter = zeros(1,NumberofSimulation); % Stores the counters,
% StoreCounter = [11
for kk = 1: length(NumberofSimulation)
counter = 0; % Initializes the counter
ii = 1;
while ii <= 20
temp = randi([25 40]);
if temp >= 30
counter = counter + 1;
end
ii = ii + 1;
fprintf('kk = %d, ii = %d \n',kk,ii)% iterates aonly once. Thus, can it
%iterate more.
end
StoreCounter(kk) = counter; % This does not work, please. Only the counter
% obtained by first simulation is stored in the vector, StoreCounter.
end

 Accepted Answer

madhan ravi
madhan ravi on 30 Nov 2018
Edited: madhan ravi on 30 Nov 2018
length(NumberofSimulation) is one because it's a scalar not a vector nor a matrix thats why your for loop iterates once
for kk=1:NumberofSimulation %change your line to this

More Answers (1)

I think the problem is that NumberofSimulation is a scalar, so its length is 1. Therefore, the for loop:
for kk = 1: length(NumberofSimulation)
will just run once. Try changing it by:
for kk = 1: NumberofSimulation
so that it runs NumberofSimulation times.
Regards

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!