clear clc %----------------------------- Exercise 3.8 -----------------------------------% % Variavel 'pert' insere (ou nao) perturbação aos dados pert = 1.e-4; % dados perturbados % pert = 0; % dados nao perturbados % Dados igualmente espacados n = 21; % quantidade de pontos x = linspace(-1,1,n); y = sin(2*pi*x)+(-1).^[1:n]* pert; % Funcao analitica xa = [-1:0.01:1]; ya = sin(2*pi*xa); % Distribuicao de pontos de Chebyshev a = -1; b = 1; for i = 1:length(x) xc(i) = (a+b)/2 - (b-a)/2*cos(pi*(i-1)/(n-1)); end yc = sin(2*pi*xc)+(-1).^[1:n]* pert; % INTERPOLACAO LAGRANGE::: pontos igualmente distribuidos for i = 1:length(xa) yl(i) = Intpol_Lagrange(x,y,xa(i)); end % INTERPOLACAO LAGRANGE::: pontos de Chebyshev for i = 1:length(xa) ylc(i) = Intpol_Lagrange(xc,yc,xa(i)); end % SPLINE CUBICA s3 = spline(x, y, xa); figure set(gcf, 'color', [1 1 1]); plot(xa,ya,'k-',xa,yl,'g-.',xa,ylc,'b--',xa,s3,'r:') legend('Funcao analitica','Lagrange','Lagrange (Chebyshev)','Spline')