Download presentation
Presentation is loading. Please wait.
Published byDora Todd Modified over 9 years ago
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
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.