How can I get a variable that starts in t=0?

Dear all,
I am trying to get an index for the variable y that starts at 500 in t=0 and is carried forward from period t=1 onwards by multiplying the variable y with ins_urz. In other words, I am trying to set a starting value for the variable y of 500 in t=0, and then multiply it by ins_urz from period t=1 onwards, in order to use the result of the multiplication in the respective period to multiply it by the continuous elements of ins_urz.
for t=0:249
y(1,1)=500;
y(t+1,:)=y(t,1).*ins_urz(t+1,:);
end
Unfortunately, this has not worked so far, because I get the error message "Index in position 1 is invalid. Array indices must be positive integers or logical values" every time I try.
Can someone help me how to insert the index correctly into the codes?
Thanks a lot for your help!

 채택된 답변

Torsten
Torsten 2023년 2월 21일

1 개 추천

y = cumprod([500;ins_urz])

댓글 수: 4

Jan
Jan 2023년 2월 21일
It sounds like ins_urz is a matrix.
Amelie
Amelie 2023년 2월 21일
ins_urz is a (250,1) vector
Torsten
Torsten 2023년 2월 21일
ins_urz is a (250,1) vector
Then the line of code will do what you want.
Amelie
Amelie 2023년 2월 21일
Thank you!

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

추가 답변 (1개)

Jan
Jan 2023년 2월 21일
편집: Jan 2023년 2월 21일

1 개 추천

y(1, 1) = 500; % Set initial value before the loop
for t = 1:249 % y(1, :) is defined already, so start at t=1, not t=0
y(t+1, :) = y(t, 1) * ins_urz(t+1, :);
end

댓글 수: 1

Amelie
Amelie 2023년 2월 21일
Now it works!
Thank you very much, that was very helpful!

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

카테고리

도움말 센터File Exchange에서 Matrix Indexing에 대해 자세히 알아보기

태그

질문:

2023년 2월 21일

댓글:

2023년 2월 21일

Community Treasure Hunt

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

Start Hunting!

Translated by