Need help with this Matlab script question? For loop!!
1 Ansicht (letzte 30 Tage)
Ältere Kommentare anzeigen
Dylan Flores
am 29 Jul. 2014
Bearbeitet: Dylan Flores
am 29 Jul. 2014
I keep getting this error 'Attempted to access x(3); index out of bounds because numel(x)=2.' It's really frustrating!!!
0 Kommentare
Akzeptierte Antwort
ES
am 29 Jul. 2014
You have to define x(3) as well (It should be 2 right ?), and then run the loop from x=3 and change the order of statements inside the while loop, because you set x(k) and then increment k. so for the new incremented k, x(k) will not be defined yet.
Please check:
%%Determining the golden ratio in a fibonacci sequence clear,clc % Defining the first two elements in the sequence x(1) = 1;
x(2) = 1;
x(3) = 2;
k = 3;
while (abs(x(k)./x(k-1) - x(k-1)./x(k-2))>0.001)
k = k+1;
x(k) = x(k-1) + x(k-2);
end
0 Kommentare
Weitere Antworten (1)
Robert Cumming
am 29 Jul. 2014
Bearbeitet: Robert Cumming
am 29 Jul. 2014
It the start of your while loop the condition includes a check on x(3), hence why you get the error.
edit: you could fix it this way:
while true
x(k) = x(k-1) + x(k-2);
k = k+1;
if (abs(x(k)./x(k-1) - x(k-1)./x(k-2))>0.001)
break
end
end
Siehe auch
Kategorien
Mehr zu Loops and Conditional Statements finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!