How to set up a repeating series of terms

1 visualización (últimos 30 días)
Bethany Bloomfield
Bethany Bloomfield el 1 de Nov. de 2021
Respondida: Prateek Rai el 6 de Nov. de 2021
Hi all
For the below code, I'm trying to set up a series where instead of just the most recent value of k, it increases the size of the matrix every time it runs, so it would be Xt = [ones(t-h+1,1), Lt*yt, Lt^2*yt, ... Lt^k*yt]
for k = 1:p
Xt = [ones(t-h+1,1), Lt^k*yt];
end
I know this code will only use the most recent value of k, so how would I be able to create it the way I described before? I'm pretty new to coding in general so apologies if this is a silly question.
  3 comentarios
Bethany Bloomfield
Bethany Bloomfield el 1 de Nov. de 2021
Thank you very much.
I have a similar question with a different bit of code.
for k = 1:p
yhat(t-T0+1,:) = [1, y(t), y(t-k)]*betahat + uhat(end)*psi'
end
I can't quite get the 3rd solution working there, this is my code but it gives an incorrect dimensions error when trying to multiply the matrices
yhat(t-T0+1,:) = [1, y(t), y(t-(1:p))]*betahat + uhat(end)*psi'
DGM
DGM el 1 de Nov. de 2021
I don't know what size any of these are, nor what the goal is.

Iniciar sesión para comentar.

Respuestas (1)

Prateek Rai
Prateek Rai el 6 de Nov. de 2021
To my understanding, you want to set up a repeating series of terms so that,
Xt = [ones(t-h+1,1), Lt*yt, Lt^2*yt, ... Lt^k*yt].
Here is a possible workaround:
cat = [];
for k = 1 : p
cat = [cat, Lt^k*yt];
Xt = [ones(t-h+1,1), cat];
end

Categorías

Más información sobre Loops and Conditional Statements en Help Center y File Exchange.

Etiquetas

Community Treasure Hunt

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

Start Hunting!

Translated by