function [y]=adamsb5(y0,x0,xf,f)
// Esta função integra a EDO y'=f(x,y) através do método Adams-Bashforth 
// de 5 passos no itervalo (x0,xf) com condição inicial y(x0).
// A variável y0 é uma matriz de cinco colunas que armazena o valor de y 
// em x0-4h, x0-3h, x0-2h, x0-h e x0 respectivamente.
//
// Sistemas de EDO também podem ser integrados através desta função,
// basta definir a função f como uma função R^(n+1)->R^n
// A saída fica armazenada nas colunas da matriz y (a i-ésima coluna
// corresponde aos valores das componentes da aproximação em xf ).
// 
// Variáveis auxiliares
// h  : espaçamento entre os nós da integração.
// f0 : valor da f em x0-4h multiplicado pelo fator b1 do método.
// f1 : valor da f em x0-3h multiplicado pelo fator b2 do método.
// f2 : valor da f em x0-2h multiplicado pelo fator b3 do método.
// f3 : valor da f em x0-h multiplicado pelo fator b4 do método.
// f4 : valor da f em x0 multiplicado pelo fator b5 do método.

// incialização. 

    h=(xf-x0)

// laço principal

    f4 =  2.6402777777777777778*f(x0    ,y0(:,5)) // b5 =  1901/720
    f3 = -3.8527777777777777778*f(x0  -h,y0(:,4)) // b4 = -1387/360
    f2 =  3.6333333333333333333*f(x0-2*h,y0(:,3)) // b3 =  109/30
    f1 = -1.7694444444444444444*f(x0-3*h,y0(:,2)) // b2 = -637/720
    f0 =  .34861111111111111111*f(x0-4*h,y0(:,1)) // b1 =  251/720

    y=y0(:,5) + h*[f0,f1,f2,f3,f4]*ones(5,1)
endfunction
