computing first 50 terms of sequence

1 visualización (últimos 30 días)
e smith
e smith el 6 de Mayo de 2015
Comentada: e smith el 6 de Mayo de 2015
I want to compute the first 50 terms but only display the 10th and 20th of the sequence x_k+1 = A*x_k where x_0 is [1;0]. I keep getting an error that says "In an assignment A(I) = B, the number of elements in B and I must be the same." I am confused on what I am doing wrong. This is the code I have:
x(1) = [1;0]
A = [1.52 -.7; .56 .4];
for k = 2:5
x(k) = A*(x(k-1))
end
disp(x(10))
disp(x(20))

Respuesta aceptada

Nobel Mondal
Nobel Mondal el 6 de Mayo de 2015
Editada: Nobel Mondal el 6 de Mayo de 2015
Keeping your code intact for most of the part, this is a quick fix
x = zeros(2,50);
x(:,1) = [1;0];
A = [1.52 -.7; .56 .4];
for k = 2:50
x(:,k) = A*x(:,k-1);
end
disp(x(:,10))
disp(x(:,20))

Más respuestas (1)

Chad Greene
Chad Greene el 6 de Mayo de 2015
x(1) can only have one element. You'll have to choose whether x(1)=1 or x(1)=0.
Also, you'll run into a problem because your loop runs 2:5. You'll want 2:50.

Categorías

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

Community Treasure Hunt

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

Start Hunting!

Translated by