Transcript PPT
Spline Interpolation Method Major: All Engineering Majors Authors: Autar Kaw, Jai Paul http://numericalmethods.eng.usf.edu Transforming Numerical Methods Education for STEM Undergraduates http://numericalmethods.eng.usf.edu 1 Spline Method of Interpolation http://numericalmethods.eng.usf.edu What is Interpolation ? Given (x0,y0), (x1,y1), …… (xn,yn), find the value of ‘y’ at a value of ‘x’ that is not given. 3 http://numericalmethods.eng.usf.edu Interpolants Polynomials are the most common choice of interpolants because they are easy to: Evaluate Differentiate, and Integrate. 4 http://numericalmethods.eng.usf.edu Rocket Example Results t (s) 0 10 15 20 22.5 30 5 v (m/s) 0 227.04 362.78 517.35 602.97 901.67 Polynomial Order Velocity at t=16 in m/s Absolute Relative Approxima te Error Least Number of Significant Digits Correct 1 393.69 ------------- 2 392.19 0.38% 2 3 392.05 0.036% 3 4 392.07 0.0051% 3 5 392.06 0.0026% 4 http://numericalmethods.eng.usf.edu Why Splines ? 1 f ( x) 1 25 x 2 Table : Six equidistantly spaced points in [-1, 1] x 1 1 25 x 2 -1.0 0.038461 -0.6 0.1 -0.2 0.5 0.2 0.5 0.6 0.1 1.0 6 y 0.038461 Figure : 5th order polynomial vs. exact function http://numericalmethods.eng.usf.edu Why Splines ? 1.2 0.8 y 0.4 0 -1 -0.5 0 0.5 1 -0.4 -0.8 x 19th Order Polynomial f (x) 5th Order Polynomial Figure : Higher order polynomial interpolation is a bad idea 7 http://numericalmethods.eng.usf.edu Linear Interpolation Given x0 , y0 , x1 , y1 ,......, x n 1 , y n1 x n , y n , fit linear splines to the data. This simply involves forming the consecutive data through straight lines. So if the above data is given in an ascending order, the linear splines are given by yi f ( xi ) Figure : Linear splines 8 http://numericalmethods.eng.usf.edu Linear Interpolation (contd) f ( x ) f ( x0 ) f ( x1 ) f ( x 0 ) ( x x 0 ), x1 x 0 x 0 x x1 f ( x1 ) f ( x 2 ) f ( x1 ) ( x x1 ), x2 x1 x1 x x 2 . . . f ( x n 1 ) f ( x n ) f ( x n 1 ) ( x x n 1 ), x n 1 x x n x n x n 1 Note the terms of f ( xi ) f ( x i 1 ) xi x i 1 in the above function are simply slopes between xi 1 and x i . 9 http://numericalmethods.eng.usf.edu Example The upward velocity of a rocket is given as a function of time in Table 1. Find the velocity at t=16 seconds using linear splines. Table Velocity as a function of time 10 t (s) v (t ) (m/s) 0 10 15 20 22.5 30 0 227.04 362.78 517.35 602.97 901.67 Figure. Velocity vs. time data for the rocket example http://numericalmethods.eng.usf.edu Linear Interpolation t 0 15, v (t 0 ) 362.78 t1 20, v (t1 ) 517.35 v(t ) v (t 0 ) v (t ) v(t 0 ) 1 (t t 0 ) t1 t 0 517.35 500 ys f ( range) 362.78 517.35 362.78 fx (t 15) desired 20 15 v (t ) 362.78 30.913( t 15) At t 16, 393.7 11 450 400 362.78 v (16) 362.78 30.913(16 15) 550 350 10 12 x s 10 0 14 16 18 x s range x desired 20 22 24 x s 10 m/s http://numericalmethods.eng.usf.edu 1 Quadratic Interpolation Given x0 , y0 , x1 , y1 ,......, x n 1 , y n 1 , x n , y n , fit quadratic splines through the data. The splines are given by f ( x ) a1 x 2 b1 x c1 , a 2 x 2 b2 x c2 , x 0 x x1 x1 x x 2 . . . a n x 2 bn x cn , x n 1 x x n Find a i , bi , ci , i 1, 2, …, n 12 http://numericalmethods.eng.usf.edu Quadratic Interpolation (contd) Each quadratic spline goes through two consecutive data points a1 x 0 b1 x 0 c1 f ( x0 ) 2 a1 x1 2 b1 x1 c1 f ( x1 ) . . . a i xi 1 bi xi 1 ci f ( xi 1 ) 2 a i xi bi xi c i f ( xi ) 2 . . . a n x n 1 bn x n 1 c n f ( xn 1 ) 2 a n x n bn xn cn f ( x n ) 2 13 This condition gives 2n equations http://numericalmethods.eng.usf.edu Quadratic Splines (contd) The first derivatives of two quadratic splines are continuous at the interior points. For example, the derivative of the first spline a1 x 2 b1 x c1 is 2 a1 x b1 The derivative of the second spline a 2 x 2 b2 x c 2 is 2 a2 x b2 and the two are equal at x x1 giving 2 a1 x1 b1 2a 2 x1 b2 2 a1 x1 b1 2a 2 x1 b2 0 14 http://numericalmethods.eng.usf.edu Quadratic Splines (contd) Similarly at the other interior points, 2a 2 x 2 b2 2a3 x 2 b3 0 . . . 2ai xi bi 2ai 1 xi bi 1 0 . . . 2a n 1 x n 1 bn 1 2a n x n 1 bn 0 We have (n-1) such equations. The total number of equations is (2n) (n 1) (3n 1) . We can assume that the first spline is linear, that is a1 0 15 http://numericalmethods.eng.usf.edu Quadratic Splines (contd) This gives us ‘3n’ equations and ‘3n’ unknowns. Once we find the ‘3n’ constants, we can find the function at any value of ‘x’ using the splines, f ( x) a1 x 2 b1 x c1 , a 2 x 2 b2 x c 2 , x0 x x1 x1 x x 2 . . . a n x 2 bn x c n , 16 x n 1 x x n http://numericalmethods.eng.usf.edu Quadratic Spline Example The upward velocity of a rocket is given as a function of time. Using quadratic splines a) Find the velocity at t=16 seconds b) Find the acceleration at t=16 seconds c) Find the distance covered between t=11 and t=16 seconds Table Velocity as a function of time 17 t (s) v (t ) (m/s) 0 10 15 20 22.5 30 0 227.04 362.78 517.35 602.97 901.67 Figure. Velocity vs. time data for the rocket example http://numericalmethods.eng.usf.edu Solution 2 v(t ) a1t b1t c1 , 0 t 10 a2 t b2 t c2 , 10 t 15 2 a3t b3t c3 , 15 t 20 2 a4 t b4 t c4 , 20 t 22.5 a5 t b5 t c5 , 22.5 t 30 2 2 Let us set up the equations 18 http://numericalmethods.eng.usf.edu Each Spline Goes Through Two Consecutive Data Points v(t ) a1t b1t c1 , 0 t 10 2 a1 (0) b1 (0) c1 0 2 a1 (10) b1 (10) c1 227.04 2 19 http://numericalmethods.eng.usf.edu Each Spline Goes Through Two Consecutive Data Points t s 0 v(t) m/s 0 10 15 20 22.5 227.04 362.78 517.35 602.97 30 901.67 a2 (10) 2 b2 (10) c2 227.04 a2 (15) 2 b2 (15) c2 362.78 a3 (15) b3 (15) c3 362.78 2 a3 (20) b3 (20) c3 517.35 2 a4 (20) b4 (20) c4 517.35 a4 (22.5) 2 b4 (22.5) c4 602.97 2 a5 (22.5) b5 (22.5) c5 602.97 2 a5 (30) b5 (30) c5 901.67 2 20 http://numericalmethods.eng.usf.edu Derivatives are Continuous at Interior Data Points 2 v(t ) a1t b1t c1 , 0 t 10 a2 t b2 t c2 ,10 t 15 2 d 2 a1t b1t c1 dt d 2 a2t b2t c2 dt t 10 2a1t b1 t 10 2a2t b2 t 10 2a1 10 b1 2a2 10 b2 t 10 20a1 b1 20a2 b2 0 21 http://numericalmethods.eng.usf.edu Derivatives are continuous at Interior Data Points At t=10 2a1 (10) b1 2a2 (10) b2 0 At t=15 2a2 (15) b2 2a3 (15) b3 0 At t=20 2a3 (20) b3 2a4 (20) b4 0 At t=22.5 2a4 (22.5) b4 2a5 (22.5) b5 0 22 http://numericalmethods.eng.usf.edu Last Equation a1 0 23 http://numericalmethods.eng.usf.edu Final Set of Equations 0 0 0 1 0 100 10 1 0 0 0 0 0 100 10 0 0 0 225 15 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 20 1 0 20 1 0 0 0 30 1 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 24 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 225 15 1 0 0 0 0 400 20 1 0 0 0 0 0 0 0 0 0 0 400 20 1 0 506 .25 22 .5 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 30 1 0 0 0 0 0 0 0 0 40 1 0 40 1 0 0 0 0 0 45 1 0 0 0 0 0 0 0 0 0 a1 0 b1 0 c1 0 227 .04 0 0 227 .04 0 0 0 0 0 a 2 362 .78 0 0 0 b2 362 .78 517 .35 0 0 0 c2 0 0 0 a3 517 .35 0 0 0 b3 602 .97 506 .25 22 .5 1 c3 602 .97 900 30 1 a 4 901 .67 0 0 0 b4 0 0 0 0 c4 0 0 0 0 a5 0 45 1 0 b5 0 0 0 0 c5 0 0 0 http://numericalmethods.eng.usf.edu Coefficients of Spline 25 i ai bi ci 1 0 22.704 0 2 0.8888 4.928 88.88 3 −0.1356 35.66 −141.61 4 1.6048 5 0.20889 −33.956 554.55 28.86 −152.13 http://numericalmethods.eng.usf.edu Quadratic Spline Interpolation Part 2 of 2 http://numericalmethods.eng.usf.edu 26 http://numericalmethods.eng.usf.edu v(t ) 22.704t , Final Solution 0.8888t 2 4.928t 88.88, 0.1356t 2 35.66t 141.61, 1.6048t 2 33.956t 554.55, 0.20889t 2 28.86t 152.13, 27 0 t 10 10 t 15 15 t 20 20 t 22.5 22.5 t 30 http://numericalmethods.eng.usf.edu Velocity at a Particular Point a) Velocity at t=16 0 t 10 10 t 15 v(t ) 22.704t , 0.8888t 2 4.928t 88.88, 0.1356t 2 35.66t 141.61, 1.6048t 2 33.956t 554.55, 0.20889t 2 28.86t 152.13, 15 t 20 20 t 22.5 22.5 t 30 v16 0.135616 35.6616 141.61 2 394.24 m/s 28 http://numericalmethods.eng.usf.edu Acceleration from Velocity Profile b) The quadratic spline valid at t=16 is given by d a (16) v(t ) t 16 dt vt 0.1356t 2 35.66t 141.61, 15 t 20 d a (t ) ( 0.1356t 2 35.66t 141.61) dt 0.2712t 35.66, 15 t 20 a(16) 0.2712(16) 35.66 31.321m/s 2 29 http://numericalmethods.eng.usf.edu Distance from Velocity Profile c) Find the distance covered by the rocket from t=11s to t=16s. 16 S 16 S 11 v(t )dt 11 vt 0.8888t 2 4.928t 88.88, 10 t 15 0.1356t 2 35.66t 141.61, 15 t 20 16 15 16 11 11 15 S 16 S 11 vt dt vt dt vt dt 15 16 0.8888t 2 4.928t 88.88 dt 0.1356t 2 35.66t 141.61 dt 11 15 1595.9 m 30 http://numericalmethods.eng.usf.edu Additional Resources For all resources on this topic such as digital audiovisual lectures, primers, textbook chapters, multiple-choice tests, worksheets in MATLAB, MATHEMATICA, MathCad and MAPLE, blogs, related physical problems, please visit http://numericalmethods.eng.usf.edu/topics/spline_met hod.html THE END http://numericalmethods.eng.usf.edu