MATLAB Answers

0

How to fix: Index exceeds matrix dimensions

Asked by Chun Yong Koh on 23 Aug 2019 at 11:12
Latest activity Commented on by Chun Yong Koh on 24 Aug 2019 at 11:12
Hi,
I am new to matlab and am trying to write a function which produces the Fibonacci sequence of input n. I am required to write it in a way so that the program returns all Fibonacci numbers which are less than 3000, including the index of the highest term below 3000. However, I kept getting the error ( Index exceeds matrix dimensions ) at where the if loops is located. May i know how I can change it to make it work?
function y=fibonacci(n)
y(1)=1;
y(2)=1;
for i=3:n
y(i) = y(i-1)+y(i-2);
i=i+1; %#ok<*FXSET>
if y(i) > 3000
disp(i-1);
break
end
end

  0 Comments

Sign in to comment.

1 Answer

Answer by Torsten
on 23 Aug 2019 at 11:16

The for-loop increases i automatically. Thus remove the line "i=i+1".

  1 Comment

Really new to this but thanks for the help!

Sign in to comment.