Azzera filtri
Azzera filtri

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

5 visualizzazioni (ultimi 30 giorni)
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!

Risposta accettata

Torsten
Torsten il 21 Feb 2023
y = cumprod([500;ins_urz])
  4 Commenti
Torsten
Torsten il 21 Feb 2023
ins_urz is a (250,1) vector
Then the line of code will do what you want.

Accedi per commentare.

Più risposte (1)

Jan
Jan il 21 Feb 2023
Modificato: Jan il 21 Feb 2023
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

Categorie

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

Community Treasure Hunt

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

Start Hunting!

Translated by