Azzera filtri
Azzera filtri

Using a loop for repeating steps

3 visualizzazioni (ultimi 30 giorni)
Anonymous Matrix
Anonymous Matrix il 21 Feb 2017
Modificato: Jan il 21 Feb 2017
I need some help with a loop. i have codes here:
RandomArray= randi([-100 100],20,5); % step 1
RandomArray=sort(RandomArray(:)); % step 2
RandomArray = reshape(RandomArray,5,20).';
y=mean(RandomArray,2); % step 3
[c,index] = min(abs(y-0)); % determines which row is closest to 0
RowNumber= index;
I have to repeat these steps 1000 times then plot RowNumber in a histogram. I know I can use a FOR loop but i'm a bit lost on how to assign the codes. Can someone help? please and thank you.
  4 Commenti
Akira Agata
Akira Agata il 21 Feb 2017
Is this what you want to do?
N = 1000;
RowNumber = zeros(N,1);
for kk=1:N
RandomArray= randi([-100 100],20,5); % step 1
RandomArray=sort(RandomArray(:)); % step 2
RandomArray = reshape(RandomArray,5,20).';
y=mean(RandomArray,2); % step 3
[c,index] = min(abs(y-0));
RowNumber(kk) = index;
end
% Plot histogram
histogram(RowNumber);
Anonymous Matrix
Anonymous Matrix il 21 Feb 2017
Yes! i was mainly lost on where to put the kk. thanks!

Accedi per commentare.

Risposte (1)

Akira Agata
Akira Agata il 21 Feb 2017
Just in case, let me copy&paste my comment to the answer section.
N = 1000;
RowNumber = zeros(N,1);
for kk=1:N
RandomArray= randi([-100 100],20,5); % step 1
RandomArray=sort(RandomArray(:)); % step 2
RandomArray = reshape(RandomArray,5,20).';
y=mean(RandomArray,2); % step 3
[c,index] = min(abs(y-0));
RowNumber(kk) = index;
end
% Plot histogram
histogram(RowNumber);
  1 Commento
Jan
Jan il 21 Feb 2017
Modificato: Jan il 21 Feb 2017
+1. Omit the funny "-0" from min(abs(y-0)).

Accedi per commentare.

Categorie

Scopri di più su Loops and Conditional Statements in Help Center e File Exchange

Tag

Community Treasure Hunt

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

Start Hunting!

Translated by