% Lagrange-Interpolation von sin auf dem Intervall [0,2*pi] a = 0; b = 2*pi; xmany = linspace(a,b,500); for n = 2:2:20, x = linspace(a,b,n+1); y = sin(x); ymany = sin(xmany); lambda = baryzentrisch(x); p = baryzentrischauswertung(x,xmany,y,lambda); subplot(2,2,1); plot(xmany,ymany,'b-',xmany,p,'r-'); makelarge title(sprintf('Gleichverteilt, Polynomgrad %i',n)); subplot(2,2,3); semilogy(xmany,abs(ymany-p),'r-'); makelarge title('Interpolationsfehler'); x = (1 + cos( ( 2*(1:n)-1 ) / 2 / n * pi ))*pi; y = sin(x); ymany = sin(xmany); lambda = baryzentrisch(x); p = baryzentrischauswertung(x,xmany,y,lambda); subplot(2,2,2); plot(xmany,ymany,'b-',xmany,p,'r-'); makelarge title(sprintf('Chebyshev, Polynomgrad %i',n)); subplot(2,2,4); semilogy(xmany,abs(ymany-p),'r-'); makelarge title('Interpolationsfehler'); pause end