http://numericalmethods.eng.usf.edu 1 spline interpolation method computer engineering majors...

30
http:// numericalmethods.eng.usf.edu 1 Spline Interpolation Method Computer Engineering Majors Authors: Autar Kaw, Jai Paul http://numericalmethods.eng.u sf.edu Transforming Numerical Methods Education for STEM Undergraduates

Upload: lindsay-phillips

Post on 28-Dec-2015

225 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Http://numericalmethods.eng.usf.edu 1 Spline Interpolation Method Computer Engineering Majors Authors: Autar Kaw, Jai Paul

http://numericalmethods.eng.usf.edu 1

Spline Interpolation Method

Computer Engineering Majors

Authors: Autar Kaw, Jai Paul

http://numericalmethods.eng.usf.eduTransforming Numerical Methods Education for STEM

Undergraduates

Page 2: Http://numericalmethods.eng.usf.edu 1 Spline Interpolation Method Computer Engineering Majors Authors: Autar Kaw, Jai Paul

Spline Method of Interpolation

http://numericalmethods.eng.usf.edu

Page 3: Http://numericalmethods.eng.usf.edu 1 Spline Interpolation Method Computer Engineering Majors Authors: Autar Kaw, Jai Paul

http://numericalmethods.eng.usf.edu3

What is Interpolation ?

Given (x0,y0), (x1,y1), …… (xn,yn), find the value of ‘y’ at a value of ‘x’ that is not given.

Page 4: Http://numericalmethods.eng.usf.edu 1 Spline Interpolation Method Computer Engineering Majors Authors: Autar Kaw, Jai Paul

http://numericalmethods.eng.usf.edu4

Interpolants

Polynomials are the most common choice of interpolants because they are easy to:

EvaluateDifferentiate, and Integrate.

Page 5: Http://numericalmethods.eng.usf.edu 1 Spline Interpolation Method Computer Engineering Majors Authors: Autar Kaw, Jai Paul

http://numericalmethods.eng.usf.edu5

Why Splines ?2251

1)(

xxf

Table : Six equidistantly spaced points in [-1, 1]

Figure : 5th order polynomial vs. exact function

x 2251

1

xy

-1.0 0.038461

-0.6 0.1

-0.2 0.5

0.2 0.5

0.6 0.1

1.0 0.038461

Page 6: Http://numericalmethods.eng.usf.edu 1 Spline Interpolation Method Computer Engineering Majors Authors: Autar Kaw, Jai Paul

http://numericalmethods.eng.usf.edu6

Why Splines ?

Figure : Higher order polynomial interpolation is a bad idea

-0.8

-0.4

0

0.4

0.8

1.2

-1 -0.5 0 0.5 1

x

y

19th Order Polynomial f (x) 5th Order Polynomial

Page 7: Http://numericalmethods.eng.usf.edu 1 Spline Interpolation Method Computer Engineering Majors Authors: Autar Kaw, Jai Paul

http://numericalmethods.eng.usf.edu7

Linear InterpolationGiven nnnn yxyxyxyx ,,,......,,,, 111100 , 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 )( ii xfy

Figure : Linear splines

Page 8: Http://numericalmethods.eng.usf.edu 1 Spline Interpolation Method Computer Engineering Majors Authors: Autar Kaw, Jai Paul

http://numericalmethods.eng.usf.edu8

Linear Interpolation (contd)

),()()(

)()( 001

010 xx

xx

xfxfxfxf

10 xxx

),()()(

)( 112

121 xx

xx

xfxfxf

21 xxx

.

.

.

),()()(

)( 11

11

nnn

nnn xx

xx

xfxfxf nn xxx 1

Note the terms of

1

1)()(

ii

ii

xx

xfxf

in the above function are simply slopes between 1ix and ix .

Page 9: Http://numericalmethods.eng.usf.edu 1 Spline Interpolation Method Computer Engineering Majors Authors: Autar Kaw, Jai Paul

http://numericalmethods.eng.usf.edu9

Example A robot arm with a rapid laser scanner is doing a quick quality

check on holes drilled in a rectangular plate. The hole centers in the plate that describe the path the arm needs to take are given below.

If the laser is traversing from x = 2 to x = 4.25 in a linear path, Find: the value of y at x = 4 using linear splines, the path of the robot if it follows linear splines, the length of that path.

x (m) y (m)

2 7.24.25 7.15.25 6.07.81 5.09.2 3.510.6 5.0

Figure 2 Location of holes on the rectangular plate.

Page 10: Http://numericalmethods.eng.usf.edu 1 Spline Interpolation Method Computer Engineering Majors Authors: Autar Kaw, Jai Paul

,00.20 x 2.7)( 0 xy

,25.41 x 1.7)( 1 xy

)()()(

)()( 001

010 xx

xx

xyxyxyxy

)00.2(00.225.4

2.71.72.7

x

)00.2(044444.02.7)( xxy , 2.00 ≤ x ≤ 4.25

At ,4x

)00.200.4(044444.02.7)00.4( y

in.1111.7 http://numericalmethods.eng.usf.edu10

Linear Interpolation

5 0 5 107.08

7.1

7.12

7.14

7.16

7.18

7.27.2

7.1

y s

f range( )

f x desired

x s1

10x s0

10 x s range x desired

Page 11: Http://numericalmethods.eng.usf.edu 1 Spline Interpolation Method Computer Engineering Majors Authors: Autar Kaw, Jai Paul

http://numericalmethods.eng.usf.edu11

Linear Interpolation (contd)

The linear spline connecting x = 2.00 and x = 4.25.

),00.2(044444.02.7)( xxy 25.400.2 x

Similarly

),25.4(1.11.7)( xxy 25.525.4 x

,25.539063.00.6 xxy 81.725.5 x

,81.70791.10.5 xxy 20.981.7 x

,20.90714.15.3 xxy 60.1020.9 x

Find the path of the robot if it follows linear splines.

Page 12: Http://numericalmethods.eng.usf.edu 1 Spline Interpolation Method Computer Engineering Majors Authors: Autar Kaw, Jai Paul

http://numericalmethods.eng.usf.edu12

Linear Interpolation (contd)

Find the length of the path traversed by the robot following linear splines.

The length of the robot’s path can be found by simply adding the length

of the line segments together. The length of a straight line from one point

),( 00 yx to another point ),( 11 yx is given by 201

201 )()( yyxx .

Hence, the length of the linear splines from x = 2.00 to x = 10.60 is

in. 584.10

5.30.520.960.10

0.55.381.720.90.60.525.581.7

1.70.625.425.52.71.700.225.4

22

2222

2222

L

Page 13: Http://numericalmethods.eng.usf.edu 1 Spline Interpolation Method Computer Engineering Majors Authors: Autar Kaw, Jai Paul

http://numericalmethods.eng.usf.edu13

Quadratic InterpolationGiven nnnn yxyxyxyx ,,,,......,,,, 111100 , fit quadratic splines through the data. The splines

are given by

,)( 112

1 cxbxaxf 10 xxx

,222

2 cxbxa 21 xxx

.

.

.

,2nnn cxbxa nn xxx 1

Find ,ia ,ib ,ic i 1, 2, …, n

Page 14: Http://numericalmethods.eng.usf.edu 1 Spline Interpolation Method Computer Engineering Majors Authors: Autar Kaw, Jai Paul

http://numericalmethods.eng.usf.edu14

Quadratic Interpolation (contd)

Each quadratic spline goes through two consecutive data points

)( 0101

2

01 xfcxbxa

)( 11112

11 xfcxbxa .

.

.

)( 11

2

1 iiiiii xfcxbxa

)(2

iiiiii xfcxbxa .

.

.

)( 11

2

1 nnnnnn xfcxbxa

)(2

nnnnnn xfcxbxa

This condition gives 2n equations

Page 15: Http://numericalmethods.eng.usf.edu 1 Spline Interpolation Method Computer Engineering Majors Authors: Autar Kaw, Jai Paul

http://numericalmethods.eng.usf.edu15

Quadratic Splines (contd)The first derivatives of two quadratic splines are continuous at the interior points.

For example, the derivative of the first spline

112

1 cxbxa is 112 bxa

The derivative of the second spline

222

2 cxbxa is 222 bxa

and the two are equal at 1xx giving

212111 22 bxabxa

022 212111 bxabxa

Page 16: Http://numericalmethods.eng.usf.edu 1 Spline Interpolation Method Computer Engineering Majors Authors: Autar Kaw, Jai Paul

http://numericalmethods.eng.usf.edu16

Quadratic Splines (contd)Similarly at the other interior points,

022 323222 bxabxa

.

.

.

022 11 iiiiii bxabxa

.

.

.

022 1111 nnnnnn bxabxa

We have (n-1) such equations. The total number of equations is )13()1()2( nnn .

We can assume that the first spline is linear, that is 01 a

Page 17: Http://numericalmethods.eng.usf.edu 1 Spline Interpolation Method Computer Engineering Majors Authors: Autar Kaw, Jai Paul

http://numericalmethods.eng.usf.edu17

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,

,)( 112

1 cxbxaxf 10 xxx

,222

2 cxbxa 21 xxx

.

.

.

,2nnn cxbxa nn xxx 1

Page 18: Http://numericalmethods.eng.usf.edu 1 Spline Interpolation Method Computer Engineering Majors Authors: Autar Kaw, Jai Paul

http://numericalmethods.eng.usf.edu18

Example A robot arm with a rapid laser scanner is doing a quick quality check

on holes drilled in a rectangular plate. The hole centers in the plate that describe the path the arm needs to take are given below.

If the laser is traversing from x = 2 to x = 4.25 in a linear path, Find: the length of the path traversed by the robot using quadratic splines and compare the answer to the linear spline and a fifth order polynomial result.

x (m) y (m)

2 7.24.25 7.15.25 6.07.81 5.09.2 3.510.6 5.0 Figure 2 Location of holes on

the rectangular plate.

Page 19: Http://numericalmethods.eng.usf.edu 1 Spline Interpolation Method Computer Engineering Majors Authors: Autar Kaw, Jai Paul

http://numericalmethods.eng.usf.edu19

SolutionSince there are six data points,

five quadratic splines pass through them.

,)( 112

1 cxbxaxy 25.400.2 x

,222

2 cxbxa 25.525.4 x

,332

3 cxbxa 81.725.5 x

,442

4 cxbxa 20.981.7 x

,552

5 cxbxa 60.1020.9 x

Page 20: Http://numericalmethods.eng.usf.edu 1 Spline Interpolation Method Computer Engineering Majors Authors: Autar Kaw, Jai Paul

http://numericalmethods.eng.usf.edu20

Solution (contd)Setting up the equations

Each quadratic spline passes through two consecutive data points giving

112

1 cxbxa passes through x = 2.00 and x = 4.25,

2.7)00.2()00.2( 112

1 cba (1)

1.7)25.4()25.4( 112

1 cba (2) Similarly,

1.7)25.4()25.4( 222

2 cba (3)

0.6)25.5()25.5( 222

2 cba (4)

0.6)25.5()25.5( 332

3 cba (5)

0.5)81.7()81.7( 332

3 cba (6)

0.5)81.7()81.7( 442

4 cba (7)

5.3)20.9()20.9( 442

4 cba (8)

5.3)20.9()20.9( 552

5 cba (9)

0.5)60.10()60.10( 552

5 cba (10)

Page 21: Http://numericalmethods.eng.usf.edu 1 Spline Interpolation Method Computer Engineering Majors Authors: Autar Kaw, Jai Paul

http://numericalmethods.eng.usf.edu21

Solution (contd)Quadratic splines have continuous derivatives at the interior data points

At x = 4.25

0)25.4(2)25.4(2 2211 baba (11)

At x = 5.25

0)25.5(2)25.5(2 3322 baba (12)

At x = 7.81

0)81.7(2)81.7(2 4433 baba (13)

At x = 9.20

0)20.9(2)20.9(2 5544 baba (14)

Assuming the first spline 112

1 cxbxa is linear,

01 a (15)

2 2.5 3 3.5 4 4.5 5 5.56

6.5

7

7.5

87.56258

6

y s

f range( )

f x desired

5.252 x s range x desired

Page 22: Http://numericalmethods.eng.usf.edu 1 Spline Interpolation Method Computer Engineering Majors Authors: Autar Kaw, Jai Paul

http://numericalmethods.eng.usf.edu22

Solution (contd)

0

0

0

0

0

0.5

5.3

5.3

0.5

0.5

0.6

0.6

1.7

1.7

2.7

000000000000001

014.18014.18000000000

0000162.150162.15000000

000000015.10015.10000

000000000015.8015.8

16.1036.112000000000000

12.964.84000000000000

00012.964.84000000000

000181.7996.60000000000

000000181.7996.60000000

000000125.5563.27000000

000000000125.5563.27000

000000000125.4063.18000

000000000000125.4063.18

000000000000124

5

5

5

4

4

4

3

3

3

2

2

2

1

1

1

c

b

a

c

b

a

c

b

a

c

b

a

c

b

a

Page 23: Http://numericalmethods.eng.usf.edu 1 Spline Interpolation Method Computer Engineering Majors Authors: Autar Kaw, Jai Paul

http://numericalmethods.eng.usf.edu23

Solution (contd)

i ai ai ai

1 0 −0.044444 7.2889

2 −1.0556 8.9278 −11.777

3 0.68943 −9.3945 36.319

4 −1.7651 28.945 −113.40

5 3.2886 −64.042 314.34

Solving the above 15 equations gives the 15 unknowns as

Page 24: Http://numericalmethods.eng.usf.edu 1 Spline Interpolation Method Computer Engineering Majors Authors: Autar Kaw, Jai Paul

http://numericalmethods.eng.usf.edu24

Solution (contd)Therefore, the splines are given by

,2889.704444.0)( xxy 25.400.2 x

,777.119278.80556.1 2 xx 25.525.4 x

,319.363945.968943.0 2 xx 81.725.5 x

,40.113945.287651.1 2 xx 20.981.7 x

,34.314042.642886.3 2 xx 60.1020.9 x

Page 25: Http://numericalmethods.eng.usf.edu 1 Spline Interpolation Method Computer Engineering Majors Authors: Autar Kaw, Jai Paul

http://numericalmethods.eng.usf.edu25

Solution (contd)

The length of a curve of a function )(xfy from ‘a’ to ‘b’ is given by

b

a

dxdx

dyL

2

1

In this case, f(x) is defined by five separate functions a = 2.00 to b = 10.60

,2889.7044444.0 xdx

d

dx

dy 25.400.2 x

,777.119278.80556.1 2 xxdx

d 25.525.4 x

,319.363945.968943.0 2 xxdx

d 81.725.5 x

,40.113945.287651.1 2 xxdx

d 20.981.7 x

,34.314042.642886.3 2 xxdx

d 60.1020.9 x

Page 26: Http://numericalmethods.eng.usf.edu 1 Spline Interpolation Method Computer Engineering Majors Authors: Autar Kaw, Jai Paul

http://numericalmethods.eng.usf.edu26

Solution (contd)

60.10

20.9

220.9

81.7

281.7

25.5

225.5

25.4

225.4

00.2

2

11111dx

dy

dx

dy

dx

dy

dx

dydx

dx

dyL

60.10

20.9

220.9

81.7

2

81.7

25.5

225.5

25.4

225.4

00.2

2

042.645772.61945.285302.31

3945.93788.119278.81111.21044444.01

dxxdxx

dxxdxxdx

8077.36065.26596.35500.12522.2

876.13

Page 27: Http://numericalmethods.eng.usf.edu 1 Spline Interpolation Method Computer Engineering Majors Authors: Autar Kaw, Jai Paul

http://numericalmethods.eng.usf.edu27

ComparisonCompare the answer from part (a) to linear spline result and fifth order polynomial result.

We can find the length of the fifth order polynomial result in a similar fashion to the quadratic

splines without breaking the integrals into five intervals. The fifth order polynomial result

through the six points is given by

6.102,0072923.023091.07862.2855.15344.41898.30)( 5432 xxxxxxxy

Therefore,

b

a

dxdx

dyL

2

1

60.10

00.2

432 036461.092364.03586.8710.31344.411 dxxxxx

123.13

Page 28: Http://numericalmethods.eng.usf.edu 1 Spline Interpolation Method Computer Engineering Majors Authors: Autar Kaw, Jai Paul

http://numericalmethods.eng.usf.edu28

ComparisonThe absolute relative approximate error obtained between the results from the linear and quadratic spline is

The absolute relative approximate error obtained between the results from the fifth order polynomial and quadratic spline is

%23724.0

100876.13

584.10876.13

a

%054239.0

100876.13

123.13876.13

a

Page 29: Http://numericalmethods.eng.usf.edu 1 Spline Interpolation Method Computer Engineering Majors Authors: Autar Kaw, Jai Paul

Additional ResourcesFor 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_method.html

Page 30: Http://numericalmethods.eng.usf.edu 1 Spline Interpolation Method Computer Engineering Majors Authors: Autar Kaw, Jai Paul

THE END

http://numericalmethods.eng.usf.edu