How do I write a loop which creates a random number and adds the previous values

조회 수: 6 (최근 30일)
This is how i try it
for i=1:23;
a(i) = randn(1);
a = a + a(i);
end

채택된 답변

Adam Danz
Adam Danz 2020년 3월 24일
"How do I write a loop which creates a random number and adds the previous values?"
To add to the previous value, the loop must start at index #2. See inline comments for details.
% number of iterations
n = 23;
% Always pre-allocate your loop arrays.
% Define the first random value and use NaNs to fill the rest of the array.
a = [randn(1), nan(1,n-1)];
% Create random numbers in loop, start with 2
for i = 2:n;
a(i) = a(i-1) + randn(1);
end
However, you don't need a loop. This line does the same thing as the loop above.
a = cumsum(randn(1,n));

추가 답변 (1개)

Ajay Kumar
Ajay Kumar 2020년 3월 24일
편집: Ajay Kumar 2020년 3월 24일
res_sum = 0;
for i=1:23;
a(i) = randn(1);
res_sum = res_sum + a(i);
end
  댓글 수: 4
Adam Danz
Adam Danz 2020년 3월 24일
FYI, you don't need a loop to do this. See the last line of my answer for a non-loop method.

댓글을 달려면 로그인하십시오.

카테고리

Help CenterFile Exchange에서 Creating and Concatenating Matrices에 대해 자세히 알아보기

Community Treasure Hunt

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

Start Hunting!

Translated by