function f = fib(a, b, n)
% calcule en les conservant les termes
% de la suite de Fibonacci dont les
% deux premiers termes sont a et b
% et dont les indices sont dans n
persistent res
if length(res) < 2
res = [a,b];
elseif res(1)-a | res(2)-b
res = [a,b];
end;
if length(res) < max(n)
for i = length(res)+1:max(n)
res(i)=res(i-1)+res(i-2);
end;
end;
f = res(n);