//
// decomposition dans la base des polynomes de Legendre (ordre 2 ou 3)
// de la fonction f(x)=e^(-x)sur [-1,1]
// calcul des alpha_i par une méthode approchée de Gauss Legendre à 3 points
//
///////////////////////////////////////////////////////
deff('y=f(x)','y=exp(-x)')
//
deff('y=L0(x)','y=1')
deff('y=L1(x)','y=x')
deff('y=L2(x)','y=3/2*x^2-1/2')
//L0=1;L1=X;L2=3/2*X^2-1/2;L3=5/2*X^3-3/2*X;L4=35/8*X^4-15/4*X^2+3/8 norm=2/(2n+1)
//
//  calcul approché des coefficients polynomiaux
//
alpha0=5/9*f(-sqrt(3/5))*L0(-sqrt(3/5))+8/9*f(0)*L0(0)+5/9*f(sqrt(3/5))*L0(sqrt(3/5));
alpha1=5/9*f(-sqrt(3/5))*L1(-sqrt(3/5))+8/9*f(0)*L1(0)+5/9*f(sqrt(3/5))*L1(sqrt(3/5));
alpha2=5/9*f(-sqrt(3/5))*L2(-sqrt(3/5))+8/9*f(0)*L2(0)+5/9*f(sqrt(3/5))*L2(sqrt(3/5));
//
//
xtest=linspace(-1,1,100)
ytest1=(alpha0*1/(2)*L0(xtest)+alpha1*1/(2/3)*L1(xtest))
ytest2=(alpha0*1/(2)*L0(xtest)+alpha1*1/(2/3)*L1(xtest)+alpha2*1/(2/5)*L2(xtest))
figure(2)
clf()
plot2d(xtest,exp(-xtest),1)
plot2d(xtest,ytest1,2)
plot2d(xtest,ytest2,3)
legends(['fonction initiale','ordre 1','ordre 2'],[1,2,3])
