Using a loop for repeating steps

3 次查看(过去 30 天)
Anonymous Matrix
Anonymous Matrix 2017-2-21
编辑: Jan 2017-2-21
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 个评论
Akira Agata
Akira Agata 2017-2-21
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 2017-2-21
Yes! i was mainly lost on where to put the kk. thanks!

请先登录,再进行评论。

回答(1 个)

Akira Agata
Akira Agata 2017-2-21
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 个评论
Jan
Jan 2017-2-21
编辑:Jan 2017-2-21
+1. Omit the funny "-0" from min(abs(y-0)).

请先登录,再进行评论。

类别

Help CenterFile Exchange 中查找有关 Loops and Conditional Statements 的更多信息

标签

Community Treasure Hunt

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

Start Hunting!

Translated by