Interpolation

Interpolation

Interpolation ChEn 2450 Given (xi,yi), find a function f(x) to interpolate these points. 1 Interpolation.key - September 8, 2014 Motivation & Concept Properties of air at atmospheric pressure Motivation: T rho lambda viscosity! K kg/m3 W/(m K) N s/m2! • Often we have discrete data (tabulated, ----------------------------------------! from experiments, etc) that we need to 100 3.5562 0.0093 7.110e-06! interpolate. 150 2.3364 0.0138 1.034e-05! 200 1.7458 0.0181 1.325e-05! • Interpolating functions form the basis for 250 1.3947 0.0223 1.596e-05! numerical integration and differentiation 300 1.1614 0.0263 1.846e-05! techniques 350 0.9950 0.0300 2.082e-05! 400 0.8711 0.0338 2.301e-05! Used for solving ODEs & PDEs ‣ 450 0.7750 0.0373 2.507e-05! ‣ we will cover this later 500 0.6864 0.0407 2.701e-05! 550 0.6329 0.0439 2.884e-05! Concept: 600 0.5804 0.0469 3.058e-05! • Choose a polynomial function to fit to 650 0.5356 0.0497 3.225e-05! the data (connect the dots) 700 0.4975 0.0524 3.388e-05! 750 0.4643 0.0549 3.546e-05! • Solve for the coefficients of the 800 0.4354 0.0573 3.698e-05! polynomial 850 0.4097 0.0596 3.843e-05! 900 0.3868 0.0620 3.981e-05! • Evaluate the polynomial wherever you 950 0.3666 0.0643 4.113e-05! want (interpolation) 1000 0.3482 0.0667 4.244e-05 Incropera & DeWitt, Fundamentals of Heat and Mass Transfer, 4th ed. 2 Interpolation.key - September 8, 2014 Linear Interpolation y1 = mx1 + b x 1 m y y 1 = 1 y = mx + b x 1 b y y2 = mx2 + b 2 2 ⇤ ⌅ ⇥ ⇥ y2 solve for m, b and substitute into the original equation... Program this into y2 y1 your calculator. y = − (x x1) + y1 y1 x2 x1 − − ⇥ x1 x2 x Advantages: • Easy to use (homework, exams) In MATLAB: Disadvantages: yi=interp1(x,y,xi,’linear’) • Not very accurate for • x - independent variable entries (vector) nonlinear functions 4 • y - dependent variable entries (vector) 3.5 linear interp y=x2 3 2.5 • xi - value(s) where you want to interpolate y 2 1.5 • yi - interpolated value(s) at xi. 1 0.5 0 0 0.5 1 1.5 2 x 3 Interpolation.key - September 8, 2014 Hoffman §4.3 Polynomial Interpolation np 2 n k 1 x1 x1 x1 a0 y1 p(x) = akx 2 · · · n 1 x2 x2 x2 a1 y2 k=0 ⇤ . · · · . ⌅ . ⇥ = . ⇥ . Given n+1 data points, we can ⌥ 2 · · · n ↵ ↵ ⌥ 1 xn+1 x x ↵ an ↵ yn+1 th ⌥ n+1 · · · n+1 ↵ ↵ fit an n -degree polynomial. ⇧ ⌃ ⌦ ⌦ Given: (xi,yi), solve for ai In MATLAB:! Two steps: • p=polyfit(x,y,n) 1. Obtain polynomial ‣ Forms & solves the above system. coefficients by solving the set of linear equations. ‣ requires at least n+1 points 2. Evaluate the value of the ‣ NOTE: if you supply more than n+1 points, then polynomial at the desired regression will be performed (more later). location (xi) • yi=polyval(p,xi) ‣ evaluates polynomial at point(s) given by xi. 4 Interpolation.key - September 8, 2014 Can Apply Polynomial Interpolation “Globally” or “Locally” Properties of air at atmospheric pressure What is the value T rho lambda viscosity! K kg/m3 W/(m K) N s/m2! of the viscosity at ----------------------------------------! ? 100 3.5562 0.0093 7.110e-06! T=412 K 150 2.3364 0.0138 1.034e-05! 200 1.7458 0.0181 1.325e-05! 250 1.3947 0.0223 1.596e-05! 300 1.1614 0.0263 1.846e-05! 350 0.9950 0.0300 2.082e-05! Polynomial interpolation, n=2 400 0.8711 0.0338 2.301e-05! Polynomial interpolation, n=3 450 0.7750 0.0373 2.507e-05! 500 0.6864 0.0407 2.701e-05! Linear interpolation (n=1) 550 0.6329 0.0439 2.884e-05! 600 0.5804 0.0469 3.058e-05! 650 0.5356 0.0497 3.225e-05! 700 0.4975 0.0524 3.388e-05! 750 0.4643 0.0549 3.546e-05! 800 0.4354 0.0573 3.698e-05! 850 0.4097 0.0596 3.843e-05! np 900 0.3868 0.0620 3.981e-05! k 950 0.3666 0.0643 4.113e-05! p(x) = akx 1000 0.3482 0.0667 4.244e-05 k=0 Incropera & DeWitt, Fundamentals of Heat and Mass Transfer, 4th ed. 5 Interpolation.key - September 8, 2014 Hoffman §4.9 Cubic Spline Interpolation Concept: use cubic polynomial and “hook” For n+1 points, we form n splines. them together over a wide range of data... We must specify 4 variables per spline ⇒ we need 4n equations. 3 2 f3(x) = a3x + b3x + c3x + d3 3 2 f2(x) = a2x + b2x + c2x + d2 3 2 f1(x) = a1x + b1x + c1x + d1 1. At each data point, the values of adjacent splines must be the same. This applies to all interior points (where two functions meet) ⇒ 2(n-1) constraints. 2. At each point, the first derivatives of adjacent splines must (x3,y3) be equal (applies to all interior points) ⇒ (n-1) constraints. (x2,y2) 3. At each point, the second derivative of adjacent splines must be equal (applies to all interior points) ⇒ (n-1) constraints. (x1,y1) 4. The first and last splines must pass through the first and last points, respectively ⇒ 2 constraints. 5. The curvature (d2f / dx2) must be specified at the end points ⇒ 2 constraints. • d2f / dx2 = 0 ⇒ “natural spline” 4n constraints 6 Interpolation.key - September 8, 2014 Cubic Spline Interpolation Advantages: • Provides a “smooth” interpolant. Disadvantages: • Usually more accurate than linear • Requires a bit more work than interpolation. linear interpolation to implement. • Doesn’t usually get “wiggly” like higher-order polynomial interpolation can. yi=interp1(x,y,xi,’spline’) • x - independent variable entries (vector) MATLAB Implementation: • y - dependent variable entries (vector) • xi - value(s) where you want to interpolate • yi - interpolated value(s) at xi. 7 Interpolation.key - September 8, 2014 Comparison Between Linear, Spline, & Polynomial Interpolation (x + b)2 f(x) = exp − c ⇥ f(x) Interpolating Points f(x) Polynomial 0.8 Interpolating Points 0.8 Cubic Spline Polynomial Linear Cubic Spline 0.6 Linear 0.6 Increase f(x) number f(x) 0.4 of data 0.4 points. 0.2 0.2 −1 −0.5 0 0.5 1 −1 −0.5 0 0.5 1 x x Spline & polynomial are indistinguishable on this plot. 8 Interpolation.key - September 8, 2014 x (x + b)2 Data points follow f(x) = tanh + exp a − c ⇥ ⇤ ⌅ 1 0.5 f(x) f(x) 0 Interpolating Points Polynomial, L =2.6e+03 2 Cubic Spline, L =9.3e−01 2 Linear, L =7.9e−01 −0.5 2 −1 −3 −2 −1 0 1 2 3 x Polynomial interpolation can be bad if we use high-order polynomials 9 Interpolation.key - September 8, 2014 Data points follow f(x)=x5 x4 15x − − 15 f(x) 10 f(x) Interpolating Points 10 Interpolating Points Polynomial 5 Polynomial Cubic Spline 5 Cubic Spline Linear Linear 0 0 −5 f(x) f(x) −5 −10 −10 −15 −20 −15 −25 −20 −2 −1 0 1 2 −2 −1 0 1 2 x x • Cubic spline interpolation is usually quite accurate and relatively cost effective. • Linear interpolation is quick and easy, and may be adequate for well-resolved data. • Polynomial interpolation can be problematic, unless the underlying data is truly a polynomial! 10 Interpolation.key - September 8, 2014 Hoffman §4.8.1 2-D Linear Interpolation Interpolate Interpolate If you have “structured” (tabular) data: y φ1,2 φ2,2 1. Interpolate in one direction (two 1-D y2 interpolations) φ 2. Interpolate in second direction. y first φ1,1 φ Use this for simple homework assignments, in-class y1 2,1 Bilinear interpolation exams, etc. (x2 x)(y2 y) x1 x2 x φ(x, y) φ1,1 − − ⇡ (x x )(y y ) Interpolate 2 − 1 2 − 1 (x x1)(y2 y) y + φ2,1 − − φ1,2 φ2,2 (x x )(y y ) y2 2 − 1 2 − 1 (x x)(y y ) + φ 2 − − 1 φ 1,2 (x x )(y y ) 2 − 1 2 − 1 (x x1)(y y1) x + φ2,2 − − φ1,1 φ first (x x )(y y ) y1 2,1 2 − 1 2 − 1 ϕ=interp2(x,y,ϕ,xi,yi,’method’) x1 x2 x • ‘linear’ - 2D linear interpolation (default) • ‘spline’ - 2D spline interpolation x,y may be vectors (matlab assumes tabular form) ϕ must be a matrix (unique ϕ for each x-y pair) 11 Interpolation.key - September 8, 2014 Hoffman §4.8.2 General 2-D Linear Interpolation Equation of a plane: φ = ax + by + c φ φ3 y φ1 = ax1 + by1 + c Data is NOT “structured” φ2 = ax2 + by2 + c φ1 φ3 = ax3 + by3 + c φ2 φ (y y ) + φ (y y ) + φ (y y ) a = 3 1 − 2 2 3 − 1 1 2 − 3 , x Solve 3 x (y y ) + x (y y ) + x (y y ) 3 1 − 2 2 3 − 1 1 2 − 3 equations for φ (x x ) + φ (x x ) + φ (x x ) b = 3 2 − 1 2 1 − 3 1 3 − 2 , 3 unknowns: y (x x ) + y (x x ) + y (x x ) 3 2 − 1 2 1 − 3 1 3 − 2 φ (x y x y ) + φ (x y x y ) + φ (x y x y ) c = 3 1 2 − 2 1 2 3 1 − 1 3 1 2 3 − 3 2 x (y y ) + x (y y ) + x (y y ) 1 2 − 3 2 3 − 1 3 1 − 2 ϕ=interp2(x,y,ϕ,xi,yi,’method’) • ‘linear’ - linear interpolation • ‘spline’ - spline interpolation Note: multidimensional higher- x, y, ϕ are matrices (unique x,y for each ϕ).

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    12 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us