computing first 50 terms of sequence

1 visualizzazione (ultimi 30 giorni)
e smith
e smith il 6 Mag 2015
Commentato: e smith il 6 Mag 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))

Risposta accettata

Nobel Mondal
Nobel Mondal il 6 Mag 2015
Modificato: Nobel Mondal il 6 Mag 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))

Più risposte (1)

Chad Greene
Chad Greene il 6 Mag 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.

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