You are on page 1of 15

MATH160-2L

NUMERICAL METHODS
LABORATORY

Polynomial Interpolation | Spline Interpolation


| Linear Square Fitting: Noisy Data
DISCUSSION OBJECTIVES

1. Develop a program that interpolates or approximates a function.


a) Learn how to use Polynomial Interpolation.
b) Learn how to use Spline Interpolation.
c) Learn how to choose the best fit for a given dataset.
2. Develop a program that plots the best fit of datapoints.
a) Using Linear Squares Fitting to resolve noisy data.
POLYNOMIAL
𝑛

𝑃𝑛 𝑥 = ෍ 𝑎𝑖 𝑥 𝑖 , 𝑎𝑛 ≠ 0
𝑖=0

𝑛=2 𝑃2 𝑥 = ෍ 𝑎𝑖 𝑥 𝑖 = 𝑎0 𝑥 0 + 𝑎1 𝑥 1 + 𝑎2 𝑥 2
𝑖=0

𝑛=4 𝑃4 𝑥 = ෍ 𝑎𝑖 𝑥 𝑖 = 𝑎0 𝑥 0 + 𝑎1 𝑥 1 + 𝑎2 𝑥 2 + 𝑎3 𝑥 3 + 𝑎4 𝑥 4
𝑖=0
POLYNOMIAL INTERPOLATION
𝑛

𝑃𝑛 𝑥 = ෍ 𝑎𝑖 𝑥 𝑖 , 𝑎𝑛 ≠ 0
𝑖=0

𝐸𝑥𝑎𝑚𝑝𝑙𝑒: 𝑓 0 = 3, 𝑓 1 = 2 → 0,3 & (1,2)


1

𝑛=1 𝑃1 𝑥 = ෍ 𝑎𝑖 𝑥 𝑖 = 𝑎0 𝑥 0 + 𝑎1 𝑥 1
𝑖=0

0,3 𝑃1 0 = 𝑎0 𝑥 0 + 𝑎1 𝑥 1 = 3 → 𝑎0 = 3
1,2 𝑃1 1 = 3 + 𝑎1 = 2 → 𝑎1 = −1
𝑃1 𝑥 = 3 − 𝑥
POLYNOMIAL INTERPOLATION
𝐸𝑥𝑎𝑚𝑝𝑙𝑒: 1,2 , 2,3 , 3,4

𝑛=2 𝑃2 𝑥 = ෍ 𝑎𝑖 𝑥 𝑖 = 𝑎0 𝑥 0 + 𝑎1 𝑥 1 + 𝑎2 𝑥 2
𝑖=0

1,2 𝑃2 1 = 𝑎0 (1)0 +𝑎1 (1)1 +𝑎2 (1)2 = 2 → 𝑎0 + 𝑎1 + 𝑎2 = 2

2,3 𝑃1 2 = 𝑎0 (2)0 +𝑎1 (2)1 +𝑎2 (2)2 = 3 → 𝑎0 + 2𝑎1 + 4𝑎2 = 3

3,4 𝑃1 3 = 𝑎0 (3)0 +𝑎1 (3)1 +𝑎2 (3)2 = 4 → 𝑎0 + 3𝑎1 + 9𝑎2 = 4


POLYNOMIAL INTERPOLATION
𝐸𝑥𝑎𝑚𝑝𝑙𝑒: 1,1 , 2,4 , (4,5)

𝑎0 + 𝑎1 + 𝑎2 = 2
1 1 1 𝑎0 2
1 2 4 𝑎1 = 3
𝑎0 + 2𝑎1 + 4𝑎2 = 3
1 3 9 𝑎2 4

𝑎0 + 3𝑎1 + 9𝑎2 = 4 𝑎0 1
𝑎1 = 1
𝑎2 0

𝑃2 𝑥 = 1 + 𝑥
POLYNOMIAL INTERPOLATION
t 0 0.5 1.0 1.5 2.0
y 0 0.19 0.26 0.29 0.31

t1 = 0:0.5:2
y1 = [0 0.19 0.26 0.29 0.31]

plot (t1, y1)

plot (t1, y1,’*’)


POLYNOMIAL INTERPOLATION
t2 = [0 0.1 0.4 0.5 0.6 1.0 1.4 1.5 1.6 1.9 2.0] & y2 = [0 0.06 0.17 0.19 0.21 0.26 0.29 0.29 0.30 0.31 0.31]
SPLINE INTERPOLATION
x = -4:1:5
y = [0 0 0 1 1 1 0 0 0 0]
plot (x, y,’*’)
SPLINE INTERPOLATION

𝐶1 𝑥 , 𝑥0 ≤ 𝑥 ≤ 𝑥1
𝑆 𝑥 = ൞𝐶𝑖 𝑥 , 𝑥𝑖−1 ≤ 𝑥 ≤ 𝑥𝑖
𝐶𝑛 𝑥 , 𝑥𝑛−1 ≤ 𝑥 ≤ 𝑥𝑛
𝐶𝑖 𝑥 = 𝑎𝑖 + 𝑏𝑖 𝑥 1 + 𝑐𝑖 𝑥 2 + 𝑑𝑖 𝑥 3
𝐶𝑜𝑛𝑠𝑡𝑟𝑎𝑖𝑛𝑡𝑠:
𝐶𝑖 𝑥𝑖 = 𝑦𝑖 & 𝐶𝑖 𝑥𝑖+1 = 𝑦𝑖+1
𝑎𝑖 +𝑏𝑖 𝑥𝑖 + 𝑐𝑖 𝑥𝑖2 + 𝑑𝑖 𝑥𝑖3 = 𝑦𝑖 & 𝑎𝑖 + 𝑏𝑖 𝑥𝑖+1 + 𝑐𝑖 𝑥𝑖+1
2 3
+ 𝑑𝑖 𝑥𝑖+1

2𝑛 𝐶𝑜𝑛𝑑𝑖𝑡𝑖𝑜𝑛𝑠:

𝐶𝑖 ′ 𝑥𝑖 = 𝐶𝑖+1 ′ 𝑥𝑖 & 𝐶𝑖 ′′ 𝑥𝑖 = 𝐶𝑖+1 ′ 𝑥𝑖
𝑏𝑖 + 2𝑐𝑖 𝑥𝑖 + 3𝑑𝑖 𝑥𝑖2 = 𝑏𝑖+1 + 2𝑐𝑖+1 𝑥𝑖 + 3𝑑𝑖+1 𝑥𝑖2
2𝑐𝑖 + 6𝑑𝑖 𝑥𝑖 = 2𝑐𝑖+1 + 6𝑑𝑖+1 𝑥𝑖
LEAST SQUARE FITTING: NOISY DATA
• %Traffic

• x = 1:.1:6;

• T = .1*x + 1;

• Tn = T + .1*randn(size(x));

• plot(x,Tn ,'*')
LEAST SQUARE FITTING: NOISY DATA
𝑓 𝑥 = 𝑎1 exp 𝑎2 𝑥 + 𝑎0 𝑜𝑟 𝑓 𝑥 = 𝑎2 𝑥 2 𝑎1 𝑥 + 𝑎0

𝑛 𝑛

ε = ෍ 𝑒𝑖2 = ෍(𝑦𝑖 − 𝑓(𝑥𝑖 ))2


𝑖=1 𝑖=1

ε(𝑎0 , 𝑎1 , 𝑎2 ) = ෍(𝑦𝑖 − (𝑎2 𝑥𝑖2 + 𝑎1 𝑥𝑖 + 𝑎0 ))2


𝑖=1

𝑛
𝜕𝜀
= −2 ෍(𝑦𝑖 − (𝑎2 𝑥𝑖2 + 𝑎1 𝑥𝑖 + 𝑎0 ))
𝜕𝑎0
𝑖=1
𝑛
𝜕𝜀
= −2 ෍(𝑦𝑖 − (𝑎2 𝑥𝑖2 + 𝑎1 𝑥𝑖 + 𝑎0 ))𝑥𝑖
𝜕𝑎0
𝑖=1
𝑛
𝜕𝜀
= −2 ෍(𝑦𝑖 − (𝑎2 𝑥𝑖2 + 𝑎1 𝑥𝑖 + 𝑎0 ))𝑥𝑖2
𝜕𝑎0
𝑖=1
LEAST SQUARE FITTING: NOISY DATA

𝑛 𝑛 𝑛 𝑛

𝑛 ෍1 ෍ 𝑥𝑖 ෍ 𝑥𝑖2 ෍ 𝑦𝑖
𝜕𝜀 𝑖=1 𝑖=1 𝑖=1 𝑖=1
= −2 ෍(𝑦𝑖 − (𝑎2 𝑥𝑖2 + 𝑎1 𝑥𝑖 + 𝑎0 )) 𝑛 𝑛 𝑛 𝑎0 𝑛
𝜕𝑎0
𝑖=1
𝑛 ෍ 𝑥𝑖 ෍ 𝑥𝑖2 ෍ 𝑥𝑖3 𝑎1 = ෍ 𝑦𝑖 𝑥𝑖
𝜕𝜀 𝑎2
= −2 ෍(𝑦𝑖 − (𝑎2 𝑥𝑖2 + 𝑎1 𝑥𝑖 + 𝑎0 ))𝑥𝑖 𝑖=1
𝑛
𝑖=1
𝑛
𝑖=1
𝑛
𝑖=1
𝑛
𝜕𝑎0
𝑖=1
𝑛 ෍ 𝑥𝑖2 ෍ 𝑥𝑖3 ෍ 𝑥𝑖4 ෍ 𝑦𝑖 𝑥𝑖2
𝜕𝜀
= −2 ෍(𝑦𝑖 − (𝑎2 𝑥𝑖2 + 𝑎1 𝑥𝑖 + 𝑎0 ))𝑥𝑖2 𝑖=1 𝑖=1 𝑖=1 𝑖=1
𝜕𝑎0
𝑖=1
LEAST SQUARE FITTING: NOISY DATA
x 1 2 3 4 5 6 7
y 1.5 3.8 6.7 9.0 11.2 13.6 16
𝑦 = 𝑚𝑥 + 𝑏

x y xy x2
𝑛 σ 𝑥𝑦 − σ 𝑥 σ 𝑦
𝑚= = 2.414
1 1.5 1.5 1 𝑛 σ 𝑥 2 − (σ 𝑥)2
2 3.8 7.6 4
σ𝑦 − 𝑚σ𝑥
3 6.7 20.1 9 𝑏= = −0.829
𝑛
4 9.0 36 16
𝑦 = 2.414𝑥 − 0.829
5 11.2 56 25
6 13.6 81.6 36
7 16 11.2 49
28 61.8 314/8 140
THANK YOU FOR LISTENING.
GOD BLESS.

You might also like