小于自然数2000的Fibonacci数列各项,在matlab上实现代码,最终结果好像错误,为什么?

小于自然数2000的Fibonacci数列各项,在matlab上实现代码,最终结果好像错误,为什么?

function f=ffib(n)
    %用于求Fibonacci数列的函数文件
    %f=ffib(n)
    %1999年9月30日编
    f=[1,1];
    i=1;
    while f(i)+f(i+1)<n
       f(i+2)=f(i)+f(i+1);
       i=i+1;
    end

图片说明
小于2000的对应数列不可能到34就结束了?
求解答,谢谢!

1 1
2 1
3 2
4 3
5 5
6 8
7 13
8 21
9 34
10 55
11 89
12 144
13 233
14 377
15 610
16 987
17 1597
18 2584 这里就超过2000了。