You are on page 1of 21

Lecture Notes – Numerical Methods for Engineers Chapter 4 Curve Fitting

บทที่ 4
Curve Fitting

• ขอมูลดิบหรือขอมูลตรวจวัดในงานสวนใหญจะเปนจุด ไมตอเนื่อง การทํา Curve Fitting จะชวยในการหา


รูปแบบความสัมพันธหรือฟงกชั่นระหวางตัวแปรตางๆ ได และจะชวยใหสามารถหาคาของตัวแปรตาม ณ
คาของตัวแปรตนใดๆ ที่อยูในชวงของขอมูลที่มีได
• มี 2 กลุมวิธีที่จะกลาวถึง
- Least-Squares Regression
=> เปนการหาเสนตัวแทนของชุดขอมูล
=> ฟงกชั่นหรือเสนตัวแทนไมจําเปนตองผานขอมูลครบทุกจุด บางครั้งอาจไมผานสักจุดเลยก็ได
=> เหมาะกับชุดขอมูลที่บางจุดอาจมีคาไมเที่ยงตรงนัก
- Interpolation
=> เปนการหาคา f(x) หรือตัวแปรตาม ที่ x หรือตัวแปรตนใดๆ ในชวงขอมูล
=> ฟงกชั่นจะผานขอมูลครบทุกจุด
=> เหมาะกับชุดขอมูลที่ทุกจุดมีคาเที่ยงตรง แมนยํา
• ตัวอยางการใชงาน
- หาคาของขอมูล ณ จุดตางๆ ที่ไมตรงกับจุดที่มีอยู
- วิเคราะหแนวโนมของขอมูล => หาเสนตัวแทนหรือฟงกชั่นหรือ Model ทางคณิตศาสตร กรณีที่ยังไม
รูหรือยังไมมีทฤษฎีรองรับ
- หาคาสัมประสิทธิ์ของความสัมพันธ => กรณีที่มีฟงกชั่นหรือ Model ทางคณิตศาสตรอยูแลว และ
ตองการหาคาสัมประสิทธิ์ที่จะให “Best Fit”
- ตองการตรวจสอบความถูกตอง (Validity) ของ Model ทางคณิตศาสตรที่มีอยูกับสถานการณจริง =>
กรณีมีทั้ง Model และสัมประสิทธิ์ทางทฤษฎีอยูแลว
- ใชหาคาอินทิกรัลหรืออนุพันธของชุดขอมูล

• ทบทวนพื้นฐานทางดานสถิติ
- คาเฉลี่ย (Arithmetic Mean) => คาที่อยูกึ่งกลางของชุดขอมูล
n

= ∑y i
y i =1
n

- Standard Deviation (SD) => การเบี่ยงเบนหรือการกระจายตัวของขอมูลรอบคากึ่งกลาง


sy = S t

n −1
n
โดย St = ∑ (y
i =1
i − y )2 => Sum of Squares of Residuals เทียบกับคาเฉลี่ย

4-1
Lecture Notes – Numerical Methods for Engineers Chapter 4 Curve Fitting

=> คา n-1 เรียกวา Degrees of Freedom


n

o มาจากความจริงที่วา ∑ ( y − y ) = 0 i
i =1
ดังนั้น ถารูคาของขอมูล n-1 ตัวและรูคาเฉลี่ย ก็จะรูคาของขอมูลอีกตัวหนึ่งที่เหลือโดย
อัตโนมัติ ≡ มีอิสระในการกําหนดคาของขอมูล n-1 ตัว
o การกระจายตัวของขอมูล 1 จุด ไมมีความหมาย ≡ ตัวหาร n-1 เปนศูนยไมมีความหมาย

- Variance
sy 2 = St
n −1

- Coefficient of Variation (CV)


sy
CV = y
× 100%

- หมายเหตุ ถาไมมีการระบุเปนอยางอื่น เครื่องหมาย Σ หมายถึง ∑ i =1

Least-Squares Regression
• มี 3 วิธีที่จะกลาวถึง
- Linear Regression
- Polynomial Regression
- Multiple Linear Regression

Linear Regression
• ใชเสนตรงเปนตัวแทนของชุดขอมูล
=> x = ตัวแปรตน รูคาแนนอน เพราะเปนคาที่กําหนดเอง
=> y = ตัวแปรตาม คาอาจไมแนนอน มักเปนคาที่ไดจากการวัด
y
Error
ei = yi – a0 – a1xi

ขอมูลจริง => y
เสนตัวแทน => yrep = a0 + a1x ซึ่ง a0 และ a1 เปนตัวแปรที่ตองการหาคา
คาความผิดพลาด => e = y – a0 – a1x

4-2
Lecture Notes – Numerical Methods for Engineers Chapter 4 Curve Fitting

• เงื่อนไขในการหาเสนตัวแทนที่ดีที่สุดหรือ Best Fit


=> เงื่อนไขในการหาคา a0 และ a1 ที่จะใหเสนตัวแทนที่ดีที่สุดเพียงเสนเดียว
1) ถาเลือกที่จะลด Σei = Σ(yi – a0 – a1xi) ใหนอยที่สุด y
=> มีโอกาสที่จะไดเสนตัวแทนหลายเสน เพราะ Error
ที่เปน + และ – อาจหักลางกันแลวเหลือนอยเทากัน

x
2) ถาเลือกที่จะลด Σ|ei| = Σ|(yi – a0 – a1xi)| ใหนอยที่สุด y
=> มีโอกาสที่จะไดเสนตัวแทนหลายเสน ที่มีผลรวมของ
คาสัมบูรณของ Error เทากัน

3) ถาเลือกที่จะลด Σei2 = Σ(yi – a0 – a1xi)2 ใหนอยที่สุด


=> จะไดเสนตัวแทนเพียงเสนเดียว
=> Sr = Σei2 => Sum of Squares of Residuals เทียบกับเสนตัวแทน
=> Least-Squares Regression ก็คือการลดผลรวมของ Error ยกกําลังสองใหนอยที่สุดนั่นเอง

• Minimize Sr เทียบกับตัวแปรที่ไมทราบคาคือ a0 และ a1


∂S =r -2Σ(yi – a0 – a1xi) = 0
∂a 0
∂Sr = -2Σ[(yi – a0 – a1xi)xi] = 0
∂a1

กระจาย Σ เขาไป
Σyi – Σa0 – Σa1xi = 0
Σxiyi – Σa0xi – Σa1xi2 = 0
จัดรูประบบสมการ จะไดระบบสมการเชิงเสนซึ่งมีชื่อเรียกเฉพาะวา Normal Equations
na0 + (Σxi)a1 = Σyi
2
(Σxi)a0 + (Σxi )a1 = Σxiyi
แกระบบสมการ จะได
a1 = n ∑ xi y i − ∑ xi ∑ y i => ใช Cramer’s Rule
n ∑ xi2 − (∑ xi )2
a0 = y − a1x

ดังนั้น จะไดเสนตรงที่เปนตัวแทนที่ดีที่สุดของชุดขอมูล
yrep = a0 + a1x

4-3
Lecture Notes – Numerical Methods for Engineers Chapter 4 Curve Fitting

• ความนาเชื่อถือของการทํา Linear Regression


- Standard Error of Estimate => การเบี่ยงเบนหรือการกระจายตัวของขอมูลรอบเสนตัวแทน
sy/x = S r

n−2

=> คา n-2 คือ Degrees of Freedom


o ความอิสระในการกําหนดคาของขอมูลหายไป 2 เนื่องจากใชคา a0 และ a1 ในการคํานวณ
o การกระจายตัวของขอมูล 2 จุด รอบเสนตรงที่เชื่อมระหวางจุด 2 จุดนั้น ไมมีความหมาย
≡ ตัวหาร n-2 เปนศูนยไมมีความหมาย
≡ เปน Perfect Fit ขอมูลไมมีการเบี่ยงเบนไปจากเสนตัวแทน
- กอนทํา Regression => St ≡ ความแตกตางระหวางขอมูลจริงกับคาเฉลี่ย
หลังทํา Regression => Sr ≡ ความแตกตางระหวางขอมูลจริงกับเสนตัวแทน
- Coefficient of Determination
R2 = S −S t r

St
=> ใชแสดงวา การทํา Regression ปรับปรุงคาตัวแทนไดดีขึ้นมากนอยเพียงใด
ถาทําแลวดีขึ้น Sr < St
ถาทําแลวได Perfect Fit Sr = 0 และ R2 = 1
ถาทําแลวไมปรับปรุงเลย Sr = St และ R2 = 0
=> คา R มีชื่อเรียกวา Correlation Coefficient
- ขอควรระวัง => ขอมูลบางชุดอาจมีตัวแทนที่ไมใชเสนตรง แตเมื่อทํา Linear Regression แลว อาจ
ไดคา R2 ใกลเคียง 1 ได สิ่งที่ควรทําคือควร Plot กราฟดูดวย
- วิธีหนึ่งที่ใชตรวจสอบวา เสนตัวแทนที่ไดจากการทํา Regression เปนตัวแทนที่ดีหรือไม คือ การ
Plot กราฟระหวาง yi และ yrep,i จะตองไดเสนตรงที่ Slope = 1 และ Intercept = 0
yi

yrep,i

• Linear Regression กับบางความสัมพันธที่เปน Nonlinear


- Exponential
y ln y

Slope = b
Intercept = ln a

x x
y = a⋅ebx ln y = ln a + b⋅x
Y = A0 + A1X
4-4
Lecture Notes – Numerical Methods for Engineers Chapter 4 Curve Fitting

- Power
y log y

Slope = b
Intercept = log a

x log x
y = a ⋅ xb log y = log a + b⋅log x
Y = A0 + A1X
- Saturation-Growth-Rate
y 1/y

Slope = b/a
Intercept = 1/a

x 1/x
x
y =a 1 1 b 1
= + ⋅
b+x y a a x
Y = A0 + A1 X

Polynomial Regression
• ใชสมการ Polynomial เปนตัวแทนของชุดขอมูล
=> x = ตัวแปรตน รูคาแนนอน เพราะเปนคาที่กําหนดเอง
=> y = ตัวแปรตาม คาอาจไมแนนอน มักเปนคาที่ไดจากการวัด

y
เชน ถาความสัมพันธเปนแบบ Parabola
ขอมูลจริง => y
เสนตัวแทน => yrep = a0 + a1x + a2x2

รูปทั่วไปสําหรับเสนตัวแทนที่เปน Polynomial อันดับที่ m


ขอมูลจริง => y
เสนตัวแทน => yrep = a0 + a1x + a2x2 + … + amxm
ซึ่ง a0 ถึง am เปนตัวแปรที่ตองการหาคา
คาความผิดพลาด => e = y – a0 – a1x – a2x2 – … – amxm
ดังนั้น Sr = Σ(yi – a0 – a1xi – a2xi2 – … – amxim)2

4-5
Lecture Notes – Numerical Methods for Engineers Chapter 4 Curve Fitting

• Minimize Sr เทียบกับตัวแปรที่ไมทราบคาคือ a0 ถึง am


∂S =r -2Σ(yi – a0 – a1xi – a2xi2 – … – amxim) = 0
∂a 0
∂Sr = -2Σ[xi(yi – a0 – a1xi – a2xi2 – … – amxim)] = 0
∂a1
∂Sr = -2Σ[xi2(yi – a0 – a1xi – a2xi2 – … – amxim)] = 0
∂a2
.
.
∂Sr = -2Σ[xim(yi – a0 – a1xi – a2xi2 – … – amxim)] = 0
∂am

จัดรูประบบสมการ จะไดระบบสมการเชิงเสนที่เรียกวา Normal Equations


na0 + (Σxi)a1 + (Σxi2)a2 + … + (Σxim)am = Σyi
2 3 m+1
(Σxi)a0 + (Σxi )a1 + (Σxi )a2 + … + (Σxi )am = Σxiyi
2 3 4 m+2
(Σxi )a0 + (Σxi )a1 + (Σxi )a2 + … + (Σxi )am = Σxi2yi
.
.
(Σxim)a0 + (Σxim+1)a1 + (Σxim+2)a2 + … + (Σxi2m)am = Σximyi
=> หาคาของตัวแปร a0 ถึง am โดยใชวิธีการแกระบบสมการเชิงเสนวิธีตางๆ
=> ไมนิยมใช Gauss-Seidel Method เพราะระบบสมการจะไมเปน Diagonal Dominant

• ความนาเชื่อถือของการทํา Polynomial Regression


- Standard Error of Estimate
sy/x = S r

n − ( m + 1)

=> คา n-(m+1) คือ Degrees of Freedom


o ความอิสระในการกําหนดคาของขอมูลหายไป m+1 เนื่องจากใชคา a0 ถึง am ในการคํานวณ
o การกระจายตัวของขอมูล m+1 จุด รอบเสนตัวแทนที่เปน Polynomial อันดับที่ m ซึ่งจะ
ผานขอมูลครบทั้ง m+1 จุดนั้น ไมมีความหมาย
≡ ตัวหาร n-(m+1) เปนศูนยไมมีความหมาย
≡ เปน Perfect Fit ขอมูลไมมีการเบี่ยงเบนไปจากเสนตัวแทน
=> ถาตองการทํา Curve Fitting โดยใช Polynomial อันดับที่ m จะตองมีจํานวนขอมูล n อยางนอย
m+1 จุด
- Coefficient of Determination
R2 = S −S t r

St

4-6
Lecture Notes – Numerical Methods for Engineers Chapter 4 Curve Fitting

Multiple Linear Regression


• ใชกับกรณีที่ตัวแปรตามขึ้นอยูกับตัวแปรตนมากกวา 1 ตัว และความสัมพันธระหวางตัวแปรตามและตัว
แปรตนเปนแบบเชิงเสน (ตัวแปรตนแตละตัวมีกําลังสูงสุดเทากับ 1)
• สําหรับความสัมพันธทางคณิตศาสตร ถาตัวแปรตนมี 1 ตัว => แสดงไดดวยเสน
ถาตัวแปรตนมี 2 ตัว => แสดงไดดวยระนาบ (Plane)
ถาตัวแปรตนมีมากกวา 2 ตัว => ไมสามารถแสดงเปนภาพได

• ตัวอยางกรณีที่มีตัวแปรตน 2 ตัว คือ x1 และ x2


ขอมูลจริง => y
สมการตัวแทน => yrep = a0 + a1x1 + a2x2 ซึ่ง a0, a1 และ a2 เปนตัวแปรที่ตองการหาคา
คาความผิดพลาด => e = y – a0 – a1x1 – a2x2
ดังนั้น Sr = Σ(yi – a0 – a1x1i – a2x2i)2
Minimize Sr เทียบกับตัวแปรที่ไมทราบคาคือ a0, a1 และ a2
∂S r = -2Σ(yi – a0 – a1x1i – a2x2i) = 0
∂a 0
∂Sr = -2Σ[x1i(yi – a0 – a1x1i – a2x2i)] = 0
∂a1
∂Sr = -2Σ[x2i(yi – a0 – a1x1i – a2x2i)] = 0
∂a2

จัดรูประบบสมการ จะไดระบบสมการเชิงเสนที่เรียกวา Normal Equations


na0 + (Σx1i)a1 + (Σx2i)a2 = Σyi
2
(Σx1i)a0 + (Σx1i )a1 + (Σx1ix2i)a2 = Σx1iyi
2
(Σx2i)a0 + (Σx1ix2i)a1 + (Σx2i )a2 = Σx2iyi
=> หาคาของตัวแปร a0, a1 และ a2 โดยใชวิธีการแกระบบสมการเชิงเสนวิธีตางๆ

• รูปทั่วไปสําหรับสมการตัวแทนที่มีตัวแปรตน m ตัว คือ x1 ถึง xm


ขอมูลจริง => y
สมการตัวแทน => yrep = a0 + a1x1 + a2x2 + … + amxm
ดังนั้น Sr = Σ(yi – a0 – a1x1i – a2x2i – … – amxmi)2
Minimize Sr เทียบกับตัวแปรที่ไมทราบคาและจัดรูป จะไดระบบสมการ Normal Equations
na0 + (Σx1i)a1 + (Σx2i)a2 + … + (Σxmi)am = Σyi
2
(Σx1i)a0 + (Σx1i )a1 + (Σx1ix2i)a2 + … + (Σx1ixmi)am = Σx1iyi
2
(Σx2i)a0 + (Σx1ix2i)a1 + (Σx2i )a2 + … + (Σx2ixmi)am = Σx2iyi
.
.
(Σxmi)a0 + (Σxmix1i)a1 + (Σxmix2i)a2 + … + (Σxmi2)am = Σxmiyi
=> หาคาของตัวแปร a0 ถึง am โดยใชวิธีการแกระบบสมการเชิงเสนวิธีตางๆ

4-7
Lecture Notes – Numerical Methods for Engineers Chapter 4 Curve Fitting

• ความนาเชื่อถือของการทํา Multiple Linear Regression


- Standard Error of Estimate
sy/x = S r

n − ( m + 1)
=> คา n-(m+1) คือ Degrees of Freedom
- Coefficient of Determination
R2 = S −S t r

St

• Multiple Linear Regression กับบางความสัมพันธที่เปน Nonlinear


=> ที่พบมาก ไดแก Power Relation
y = a0⋅x1a1⋅x2a2
เปลี่ยนใหเปนความสัมพันธแบบเชิงเสน
log y = log a0 + a1⋅log x1 + a2⋅log x2
Y = A0 + A1X1 + A2X2
• สัมประสิทธิ์ในสมการ Multiple Linear Regression ≡ “Weight” ของตัวแปรตนแตละตัวที่มีตอตัวแปรตาม

4-8
Lecture Notes – Numerical Methods for Engineers Chapter 4 Curve Fitting

4-9
Lecture Notes – Numerical Methods for Engineers Chapter 4 Curve Fitting

4-10
Lecture Notes – Numerical Methods for Engineers Chapter 4 Curve Fitting

4-11
Lecture Notes – Numerical Methods for Engineers Chapter 4 Curve Fitting

4-12
Lecture Notes – Numerical Methods for Engineers Chapter 4 Curve Fitting

4-13
Lecture Notes – Numerical Methods for Engineers Chapter 4 Curve Fitting

4-14
Lecture Notes – Numerical Methods for Engineers Chapter 4 Curve Fitting

4-15
Lecture Notes – Numerical Methods for Engineers Chapter 4 Curve Fitting

Interpolation
• เปนการใชสมการ Polynomial ในการหาคา f(x) หรือตัวแปรตาม ที่ x หรือตัวแปรตนใดๆ ในชวงขอมูล
fn(x) = a0 + a1x + a2x2 + … + anxn
=> สําหรับขอมูลจํานวน n+1 จุด จะมีสมการ Polynomial อันดับที่ n เพียง 1 สมการเทานั้นที่ผานขอมูล
ครบทุกจุด
=> ถามีขอมูลจํานวน n+1 จุด อันดับสูงสุดของสมการ Polynomial ที่ใชไดคือ n
• มี 3 วิธีที่จะกลาวถึง
- Newton’s Divided-Difference Interpolating Polynomials (NDD)
- Lagrange Interpolating Polynomials
- Spline Interpolation

NDD Interpolating Polynomials


• Linear Interpolation (1st Order Polynomial – ใชขอมูล 2 จุด) f(x)
ตองการรู f1(x) ที่ x ใดๆ => ใชสามเหลี่ยมคลาย f(x1)
f (x) − f (x )
1 0 = f (x ) − f (x )
1 0 f1(x)
x − x0 x1 − x 0 f(x0)
f ( x1 ) − f ( x 0 )
f1(x) = f (x0 ) + (x − x0 )
x1 − x 0
x0 x x1
=> ตัวหอย 1 ใน f1(x) ใชบอกวาเปน Polynomial อันดับที่ 1 x
=> คา f ( x ) − f ( x ) เปนคาประมาณแบบ Finite-Divided-Difference (FDD) ของ 1st Order Derivative
1 0

x1 − x 0

• Quadratic Interpolation (2nd Order Polynomial – ใชขอมูล 3 จุด)


รูปทั่วไป
f2(x) = a0 + a1x + a2x2
สามารถจัดรูปใหมไดเปน
f2(x) = b0 + b1(x-x0) + b2(x-x0)(x-x1)
โดย
b0 = f(x0)
b1 = f (x ) − f (x )
1 เขียนแทนดวย f[x1, x2]
0

x1 − x 0
f ( x 2 ) − f ( x1 ) f ( x1 ) − f ( x 0 )

b2 = x 2 − x1 x1 − x 0 เขียนแทนดวย f[x2, x1, x0]
x2 − x0
ซึ่ง f[x2, x1, x0] = f [ x 2 , x 1 ] − f [ x 1, x 0 ]
x2 − x0
st
=> คา b1 หรือ f[x1, x0] ≡ คาประมาณแบบ FDD ของ 1 Order Derivative
=> คา b2 หรือ f[x2, x1, x0] ≡ คาประมาณแบบ FDD ของ 2nd Order Derivative

4-16
Lecture Notes – Numerical Methods for Engineers Chapter 4 Curve Fitting

• รูปทั่วไป (nth Order Polynomial – ใชขอมูล n+1 จุด)


fn(x) = b0 + b1(x-x0) + b2(x-x0)(x-x1) + … + bn(x-x0)(x-x1)…(x-xn-1)
โดย
b0 = f(x0)
b1 = f[x1, x0]
b2 = f[x2, x1, x0]
.
.
bn = f[xn, xn-1, …, x1, x0]
=> จัดเปนตารางเพื่อใหมองภาพไดงายขึ้น เชน ถาขอมูลมี 4 จุด และใช Polynomial อันดับที่ 3
สัมประสิทธิ์ b0 ถึง bn จะเปนคาที่อยูบรรทัดบนสุด
i xi f(xi) 1st Order 2nd Order 3rd Order
0 x0 f(x0) f[x1, x0] f[x2, x1, x0] f[x3, x2, x1, x0]
1 x1 f(x1) f[x2, x1] f[x3, x2, x1]
2 x2 f(x2) f[x3, x2]
3 x3 f(x3)

• NDD Interpolating Polynomial เทียบไดกับ Taylor’s Series Expansion ซึ่งใชสําหรับหาคาฟงกชั่น ณ


จุดใดจุดหนึ่ง โดยอาศัยคาฟงกชั่นและคาอนุพันธของจุดอื่น
f ′(a ) f ′′(a ) f ′′′(a ) f ( n ) (a )
f(x) = f (a ) + ( x − a) + ( x − a) 2 + ( x − a ) 3 + ... + ( x − a) n + R n
1! 2! 3! n!
โดย
a คือ จุดที่รูคาทั้ง a และ f(a) รวมทั้งคาอนุพันธลําดับตางๆ
Rn คือ พจนที่เหลือจนถึงพจนที่อนันต หมายความวา Rn ก็คือ Truncation Error นั่นเอง
Rn = ∫ ( x −n!t )
x n
โดย f ( n +1) (t )dt และ t = Dummy Variable
a

• การประมาณคาความผิดพลาดสําหรับ NDD Interpolating Polynomials


Rn ≅ f[xn+1, xn, xn-1, …, x1, x0]⋅(x-x0)(x-x1)…(x-xn)
โดยที่ xn+1 และ f(xn+1) เปนขอมูลจุดที่รูเพิ่มเติมในชวงขอมูลที่สนใจอยู
=> การเลือกจุดหรือชวงของขอมูลที่จะนํามาใชในการทํา Interpolation ควรเลือกชวงขอมูลที่มีจุด x และ
f(x) ที่ตองการหาคา อยูประมาณกึ่งกลางของชวงขอมูล เพื่อที่จะทําใหการทํา Interpolation มีความ
ผิดพลาดนอยที่สุด นั่นคือ พจนของผลคูณ (x-x0)(x-x1)…(x-xn) ในสมการของ Rn จะมีคานอย

4-17
Lecture Notes – Numerical Methods for Engineers Chapter 4 Curve Fitting

Lagrange Interpolating Polynomials


• เปนการจัดรูป NDD Interpolating Polynomials ใหม เพื่อหลีกเลี่ยงการที่ตองหาคา FDD หลายๆ คา
เทานั้นเอง
• รูปทั่วไป
n
fn(x) = ∑ L (x) ⋅ f (x
i =0
i i )

คา Lagrange Coefficient หาไดจาก


n x − xj
Li(x) = ∏x
j =0 − xj
i
j ≠i

เชน สมการ Polynomial อันดับที่ 3 สามารถเขียนไดเปน


f3(x) = ( x − x )( x − x )( x − x )
1 2
f (x 3
0)
( x 0 − x 1 )( x 0 − x 2 )( x 0 − x 3 )
( x − x 0 )( x − x 2 )( x − x 3 )
+ f ( x1 )
( x 1 − x 0 )( x 1 − x 2 )( x 1 − x 3 )
( x − x 0 )( x − x 1 )( x − x 3 )
+ f (x2 )
( x 2 − x 0 )( x 2 − x 1 )( x 2 − x 3 )
( x − x 0 )( x − x 1 )( x − x 2 )
+ f (x3 )
( x 3 − x 0 )( x 3 − x 1 )( x 3 − x 2 )

=> Polynomial อันดับที่ n จะมีทั้งหมด n+1 พจน


• การประมาณคาความผิดพลาดสําหรับ Lagrange Interpolating Polynomials
=> เหมือนกับ NDD Interpolating Polynomials
n
Rn ≅ f [ x , x , x ,..., x , x ] ⋅ ∏ ( x − x )
n +1 n n −1 1 0 i
i =0

โดยที่ xn+1 และ f(xn+1) เปนขอมูลจุดที่รูเพิ่มเติมในชวงขอมูลที่สนใจอยู


• ขอสังเกต – ทั้ง NDD Interpolating Polynomials และ Lagrange Interpolating Polynomials จะสะดวก
ในการหาคา f(x) ที่ x ใดๆ แตไมสะดวกในการจัดรูปสมการ Polynomial ใหเปน
f(x) = a0 + a1x + a2x2 + … + anxn
ถาตองการหาคาสัมประสิทธิ์ a0 ถึง an เพื่อจัดรูปสมการใหได อาจตองใชวิธีตรงไปตรงมา นั่นคือ ใชขอมูล
ของคา x และ f(x) ที่มี ตั้งเปนระบบสมการ แลวใชวิธีการแกระบบสมการเชิงเสนวิธีตางๆ เพื่อหาคา a0
ถึง an
เชน ถาตองการใชสมการ Polynomial อันดับที่ 2 ในการประมาณคา ก็เลือกขอมูลมา 3 จุด ตั้งเปนระบบ
สมการเชิงเสน
f(x0) = a0 + a1x0 + a2x02
f(x1) = a0 + a1x1 + a2x12
f(x2) = a0 + a1x2 + a2x22
จากนั้น แกระบบสมการเพื่อหาคา a0, a1 และ a2
เนื่องจากระบบสมการแบบนี้ มักจะเปน Ill-Conditioned System โดยเฉพาะที่ n มากๆ ดังนั้น จึงควร
จํากัดอันดับของ Polynomial ใหต่ําที่สุดเทาที่จะเปนไปได

4-18
Lecture Notes – Numerical Methods for Engineers Chapter 4 Curve Fitting

• Extrapolation เปนการประมาณคา f(x) ที่ x ใดๆ นอกชวงขอมูลที่มีอยู โดยใช f(x) ที่หาไดจากขอมูล


ในชวงขอมูลที่มีอยู ซึ่งการทํา Extrapolation มีโอกาสที่จะใหคาที่ผิดไปจากความเปนจริงสูงมาก

Spline Interpolation
• แบงชวงขอมูลออกเปนหลายชวง และทํา Curve Fitting ในแตละชวงดวยสมการที่ตางกัน
• เหมาะสําหรับขอมูลที่มีการเปลี่ยนแปลงแบบทันทีทันใดหรือไมตอเนื่องในบางจุด
f(x) f(x)

x x
th
ใช 6 Order Polynomial เพียง ใช Spline Interpolation ที่ใช
เสนเดียวสําหรับขอมูลทั้งหมดอาจ เสนตรง 3 เสน สําหรับขอมูล 3
ไมเหมาะสม ชวง จะเปนตัวแทนที่ดีกวา

• Linear Splines f(x)


- เปนการใชเสนตรงตอจุดธรรมดา
- งาย แตเปนตัวแทนที่ไมดี โดยเฉพาะที่จุดตอ
หรือ Knot ซึ่งความชันเปลี่ยนแปลงแบบทันที
ทันใด
x

- รูปทั่วไป => ขอมูล n จุด แบงออกเปน n-1 ชวง


f(x) = f(x0) + m0(x-x0) เมื่อ x 0 ≤ x ≤ x1
f(x) = f(x1) + m1(x-x1) เมื่อ x 1 ≤ x ≤ x2
. .
. .
f(x) = f(xn-1) + mn-1(x-xn-1) เมื่อ xn-1 ≤ x ≤ xn
โดยความชัน
mi = f (x ) − f (x )
i +1 i

x i +1 − x i

4-19
Lecture Notes – Numerical Methods for Engineers Chapter 4 Curve Fitting

• Quadratic Splines
- ใชสมการ Polynomial อันดับที่ 2
- ดีกวา Linear Splines ตรงที่การเปลี่ยนแปลงความชันที่จุดตอนิ่มนวลขึ้น

f(x) 2 a3x2+b3x+c3
a1x +b1x+c1
a2x2+b2x+c2 f(x3)
f(x1)
f(x2)
f(x0)

x
x0 x1 x2 x3
i=0 i=1 i=2 i=3

- รูปทั่วไป
สมการที่ใช fi(x) = a i x2 + b i x + c i
สําหรับขอมูล n+1 จุด แบงออกไดเปน n ชวง แตละชวงมีตัวแปรที่ไมรูคา 3 ตัว คือ ai, bi และ ci
ดังนั้น ตองสรางระบบสมการขนาด 3n สมการ 3n ตัวแปร
- เงื่อนไขในการสรางระบบสมการ
1) คา f(x) ที่จุดตอระหวางแตละชวงตองเทากัน
ai-1xi-12 + bi-1xi-1 + ci-1 = f(xi-1)
2
aixi + bixi + ci = f(xi-1)
โดย i = 2 ถึง n
=> มี n-1 จุดตอ จะไดสมการจํานวน 2n-2 สมการ
2) สมการในชวงแรกและชวงสุดทายจะตองผานจุดปลายทั้งสอง
a1x02 + b1x0 + c1 = f(x0)
2
anxn + bnxn + cn = f(xn)
=> จะไดสมการจํานวน 2 สมการ

3) คาความชัน f’(x) ที่จุดตอระหวางแตละชวงตองเทากัน


2ai-1xi-1 + bi-1 = 2aixi + bi
โดย i = 2 ถึง n
=> มี n-1 จุดตอ จะไดสมการจํานวน n-1 สมการ
4) อีก 1 สมการที่ยังขาดอยู ไดมาจากการสมมติใหคา f’’(x) ของจุดแรก = 0
2a1 = 0
ดังนั้น a1 = 0
=> เปรียบเสมือนเปนการใชเสนตรง b1x + c1 เปนเสนตัวแทนของชวงแรก
=> แตถารูคา f’’(x) ของจุดแรก ก็สามารถนํามาใชแทนการสมมติใหคาเปนศูนยได
2a1 = f’’(x)

4-20
Lecture Notes – Numerical Methods for Engineers Chapter 4 Curve Fitting

• Cubic Splines
- ใชสมการ Polynomial อันดับที่ 3
- เปนวิธีที่นิยมใชมากที่สุดในกลุม Spline Interpolation
- รูปทั่วไป
สมการที่ใช fi(x) = aix3 + bix2 + cix + di
สําหรับขอมูล n+1 จุด แบงออกไดเปน n ชวง แตละชวงมีตัวแปรที่ไมรูคา 4 ตัว คือ ai, bi, ci และ di
ดังนั้น ตองสรางระบบสมการขนาด 4n สมการ 4n ตัวแปร
- เงื่อนไขในการสรางระบบสมการ
1) คา f(x) ที่จุดตอระหวางแตละชวงตองเทากัน
=> มี n-1 จุดตอ จะไดสมการจํานวน 2n-2 สมการ
2) สมการในชวงแรกและชวงสุดทายจะตองผานจุดปลายทั้งสอง
=> จะไดสมการจํานวน 2 สมการ
3) คาความชัน f’(x) ที่จุดตอระหวางแตละชวงตองเทากัน
=> มี n-1 จุดตอ จะไดสมการจํานวน n-1 สมการ
4) คา f’’(x) ที่จุดตอระหวางแตละชวงตองเทากัน
=> มี n-1 จุดตอ จะไดสมการจํานวน n-1 สมการ
5) อีก 2 สมการที่ยังขาดอยู ไดมาจากการสมมติใหคา f’’(x) ของจุดปลายทั้งสอง = 0
=> จะไดสมการจํานวน 2 สมการ
=> เปรียบเสมือนเปนการสมมติใหชวงแรกและชวงสุดทายเปนเสนตรง (ตองเปนสมการเสนตรง
เทานั้นจึงจะใหคา f’’(x) = 0)
=> แตถารูคา f’’(x) ของจุดปลายทั้งสอง ก็สามารถนํามาใชแทนการสมมติใหคาเปนศูนยได

4-21

You might also like