Presentation is loading. Please wait.

Presentation is loading. Please wait.

Lecture 17: Polynomial interpolation. Runge example. Download rungepoly.m Runge phenomenon – polydomial wiggle associated rith high degree polynomial interpolation.

Similar presentations


Presentation on theme: "Lecture 17: Polynomial interpolation. Runge example. Download rungepoly.m Runge phenomenon – polydomial wiggle associated rith high degree polynomial interpolation."— Presentation transcript:

1 Lecture 17: Polynomial interpolation. Runge example. Download rungepoly.m Runge phenomenon – polydomial wiggle associated rith high degree polynomial interpolation

2 function rungepoly(n) % interpolate Runge function with polynomial % estimated at uniformly spaced points % input: n - degree of polynomial % plot runge function xmin=-1; xmax=1; f = inline('1./(1 + 12*x.^2)'); x = linspace(xmin,xmax,200); % interpolation with equidistant points x = linspace(xmax,xmin,n); y = f(x); p=polyfit(x,y,n-1); xvec=linspace(xmin,xmax,500); yvec=polyval(p,xvec); yexact= f(xvec); plot(xvec,yvec,'b',x,y,'ro',xvec,yexact,'r--'); legend('Interpolation','Interpolating points','Exact solution'); end

3 Result: >> rungepoly(10)

4 Result: >> rungepoly(20)

5 Runge example with Chebyshev interpolation. Download rungecheb.m The nth Chebyshev polynomial is given by Tn(x) = cos(n arrcos(x)) All the zeros of Tn(x) lie in [-1,+1] and can be calculated by xi = cos((2i-1) pi/2n) where odd is an odd integer. The use of the zeros of the Chebyshev nodes as interpolation points ensures that the maximum of the interpolation error will be minimized.

6 function rungecheb(n) % interpolate Runge function with polynomial % estimated at Chebychev points % input: n - degree of polynomial % plot runge function xmin=-1; xmax=1; f = inline('1./(1 + 12*x.^2)'); x = linspace(xmin,xmax,200); % interpolation with equidistant points x = chebroots(n); y = f(x); p=polyfit(x,y,n-1); xvec=linspace(xmin,xmax,500); yvec=polyval(p,xvec); yexact= f(xvec); plot(xvec,yvec,'b',x,y,'ro',xvec,yexact,'r--'); legend('Interpolation','Interpolating points','Exact solution'); title('interpolation at Chebyshev points') end

7 function x = chebroots(n) % compute roots of Chebyshev polinomial % % input: n - order of polynomial for k=1:n x(k)=cos( pi*(2*k-1)/(2*n) ); end

8 Result: >> rungecheb(10) function Compare to equally spaced points:

9 Result: >> rungecheb(20) Compare to equally spaced points:

10 The following data are related to the life expectances of citizens of two European regions. 1975 1980 1985 1990 WE: 72.8 74.2 75.2 76.4 EE: 70.2 70.2 70.3 71.2 Interpolate each set of data with a polynomial of degree 3 and estimate the life expectances in 1970, 1983, and 1988. Plot each fit along with the data and label your plots. Inclass


Download ppt "Lecture 17: Polynomial interpolation. Runge example. Download rungepoly.m Runge phenomenon – polydomial wiggle associated rith high degree polynomial interpolation."

Similar presentations


Ads by Google