%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%Université de Lille 1
%MAO 2004/2005
%
%                       Phénomène de Runge
%
%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

function runge(N)
%************* Points d'interpolation *********************
%N=20;%nb de points d'interpolation
dxu=2/N; %ps d'espace

xu=-1:dxu:1;%pts régulièrement répartis

xc=sin(xu*pi/2);%pts de Chebyshev

dx=0.1*dxu;
x=-1:dx:1;%pts pour la représentation des fonctions


%******************************************************************* 
%         construction des polynomes d'interpolation 
%                 pour la fonction f=1/(1+16*x^2) 
%******************************************************************


            %+++++++++++ Polynome d'interpolation en les xu ++++++++++++++++
            
            fxu=1./(1+16*xu.^2);
            %calcul des coefficients du polynome d'interpolation polyfit
            cxu=polyfit(xu,fxu,length(xu));
            %evaluation aux points d'interpolation x
            pxu=polyval(cxu,x);
            
            %+++++++++++ Polynome d'interpolation en les xc ++++++++++++++++
            
            fxc=1./(1+16*xc.^2);
            %calcul des coefficients du polynome d'interpolation polyfit
            cxc=polyfit(xc,fxc,length(xc));
            %evaluation aux points d'interpolation x
            pxc=polyval(cxc,x);
            
            
            %++++ évaluation de la fonction aux pts de discrétisation x ++++
            
            f=1./(1+16*x.^2);
            
            
%******************************************************************* 
%                    Représentations graphiques
%                
%*******************************************************************
            figure(1)
            plot(x,pxu,xu,fxu,'+',x,f)
            title('Phénomène de Runge')
            xlabel('x')
            legend('Poly. Pts unif.','pts interp.','la fonction f',-2)
            figure(2)
            plot(x,pxc,xc,fxc,'+',x,f)
            title('Runge stabilisé')
            xlabel('x')
            legend('Poly. Pts Cheb.','pts interp.','la fonction f',-2)

 