// Les polynomes de Laguerre par formule de recurrence. clear; exec orthopol.sci; exec integ.sci; N=6; // On calcule le polynome de Laguerre. n=1:(N-1); a=(-1)./(n+1); b=(2*n+1)./(n+1); c=(-n)./(n+1); a=[-1 a]; b=[1 b]; c=[1 c]; LN=orthopol(N,a,b,c,'x'); xz=linspace(0,5,10000); clf; plot2d(xz', horner(LN,xz)') for N=2:6; // Ces racines sont les points de discretisation. noe=roots(LN(N+1)); // Calcul des poids de la methode : matA = [] ; for i=1:N matA = [matA; (noe(1:N).^(i-1))']; end vecb(1) = 1 ; for i=1:N-1 vecb(i+1) = i*vecb(i); end vecb=vecb, noe = noe poi=matA\vecb; // // Comparaison des integrales exacte et approchee. // [IntegrExact ,err1] = intg(0,22,fex1x2,0,1e-12); IntegrApprox = sum(poi.*f1x2(noe)); erreur(N)=abs(IntegrApprox-IntegrExact); end err=erreur(2:6)