The words you are searching are inside this book. To get more targeted content, please make full-text search by clicking here.

Ch3 Systems of linear algebraic equations

Discover the best professional documents and content resources in AnyFlip Document Base.
Search
Published by tomyarisone, 2019-09-17 09:27:23

Ch3 Systems of linear algebraic equations

Ch3 Systems of linear algebraic equations

Lecture Notes – Numerical Methods for Engineers Chapter 3 Systems of Linear Algebraic Equations

บทที่ 3
Systems of Linear Algebraic Equations

• สมการเชงิ เสน (Linear Equation) => สมการที่ตัวแปรทุกตัวมีกาํ ลังไมเ กินหน่ึง

• การแกร ะบบสมการเชิงเสน => การหาคา ของตัวแปรทุกตัวในระบบสมการ โดยทจี่ ํานวนตัวแปรทไี่ มร ูคา

และจาํ นวนสมการจะตอ งเทา กัน

• ระบบสมการเชิงเสนท่มี ตี ัวแปร n ตัว สามารถจดั ใหอยใู นรปู เมตริกสจ ัตุรัสขนาด n x n ได

ระบบสมการ

a11x1 + a12x2 + … + a1nxn = c1
a21x1 + a22x2 + … + a2nxn = c2
..
.

.. .

.. .

an1x1 + an2x2 + … + annxn = cn

เมตรกิ ส a1n x1 = c1
a11 a12 … a2n x2 c2
a21 a22 … .
. . .
. . .
. . cn
an1 an2 … ann xn

=> การแกร ะบบสมการเชิงเสนจะใชเ มตริกสเขามาชวย

• มี 4 กลุมวิธที ่จี ะกลา วถึง
- Gauss Elimination Method
- Gauss-Jordan Method และ Matrix Inverse Method
- LU Decomposition Method
- Gauss-Seidel Method
=> ทกุ วิธจี ะใหคาคําตอบท่ีแทจริง (Exact Solution) ยกเวน Gauss-Seidel Method ซึง่ เปน วธิ ี Iteration
จะใหคา คาํ ตอบโดยประมาณ (Approximate Solution)

3-1

Lecture Notes – Numerical Methods for Engineers Chapter 3 Systems of Linear Algebraic Equations

• ตัวอยา งปญ หาระบบสมการเชงิ เสน
- Reactor ในกระบวนการเคมี

Q1 Q12 R2 Q2
c0 R1 c1 c2

Qc113 Qc332

Q31 R3
c3

=> รคู าความเขมขน c0 และอัตราการไหล Q ทุกตัว

=> ตองการรคู าความเขม ขนของสารเคมใี นแตละ Reactor ไดแ ก c1, c2 และ c3

=> สมดุลสารเคมี

R1 -(Q12+Q13)c1 + Q31c3 = -Q1c0
0
R2 Q12c1 - Q2c2 + Q32c3 = 0

R3 Q13c1 -(Q31+Q32)c3 =

- แรงในโครงสรา ง

100 kN 1 y 100 kN 1
x F1
F3
F1 F3 F1
F3
2 30o 60o 3 H2 2 30o 60o 3
F2 F2
F2
V3
V2

=> ตองการรขู นาดและทิศทางของแรงแตละแรง ไดแ ก F1, F2, F3, H2, V2 และ V3

=> สมดลุ แรง -F1cos30o + F3cos60o

Node 1 -F1sin30o - F3sin60o = -100
F1cos30o + F2 =0
Node 2 F1sin30o + H2 =0
Node 3 -F2 -F3cos60o + V2 =0
F3sin60o =0
+ V3 =0

3-2

Lecture Notes – Numerical Methods for Engineers Chapter 3 Systems of Linear Algebraic Equations

• ทบทวนเก่ียวกับเมตรกิ ส (Matrix)

- เมตริกสข นาด m x n => จาํ นวน Row x จํานวน Column

[A] = a11 a12 … a1n
a21 a22 … a2n
. Main Diagonal

.

am1 am2 … amn

- การบวกลบเมตริกส => ขนาดตองเทากนั

[A] ± [B] = [C] => cij = aij ± bij

- การคณู เมตรกิ ส => จํานวน Column ของเมตริกสต ัวตั้ง ตอ งเทากับจาํ นวน Row ของเมตรกิ สต ัวคณู

[A]mxn⋅[B]nxl = [C]mxl => c = ∑n

ij aik ⋅ bkj
k =1

a11 a12 b11 b12 c11 c12
a21 a22 ⋅ b21 b22 = c21 c22
a31 a32 c31 c32

- Transpose => การสลับ Row เปน Column และ Column เปน Row
[A]T =
[A] = 11 12 13 11 21
12 22
21 22 23 13 23

- Augmentation => การตอเมตริกสเ ขา ดว ยกนั เมอ่ื ตองการทําอะไรเหมอื นกัน จะไดทําพรอมกัน

[A | C] = a11 a12 a13 | c1

a21 a22 a23 | c2

a31 a32 a33 | c3

- เมตรกิ สจตั ุรัส => เมตริกสทม่ี ีจํานวน Row เทากับจํานวน Column

- เมตรกิ สป ระเภทพเิ ศษของเมตรกิ สจัตรุ สั aij = aji
o Symmetric Matrix => เมตริกสสมมาตร
[A] = 1 5 7
529
793

3-3

Lecture Notes – Numerical Methods for Engineers Chapter 3 Systems of Linear Algebraic Equations

o Diagonal Matrix => เฉพาะสมาชิกทีอ่ ยูในแนว Main Diagonal เทาน้นั ทมี่ คี า

[A] = a11 0 0

0 a22 0

0 0 a33

o Identity Matrix => เมตรกิ สเอกลกั ษณ aii = 1
[I] = 100
010
001

o Inverse of Matrix => เมตริกสท ค่ี ูณกบั เมตรกิ สต ้ังตน แลวไดเมตรกิ สเอกลักษณ
เมตรกิ สอินเวอรส [A]-1
เมตริกสตั้งตน [A] [A]-1⋅[A]
[A]⋅[A]-1 =
= [I]

=> เมตรกิ สท ่ีสามารถหาเมตริกสอินเวอรส ได เรียกวา Nonsingular Matrix
=> เมตริกสท ่ีไมส ามารถหาเมตริกสอ นิ เวอรสได เรียกวา Singular Matrix
=> เมตรกิ สท เี่ ปน Singular หมายถงึ เมตริกสท ี่สมาชิกของ Row หนง่ึ มีคาเปนจาํ นวนเทาของ
สมาชิกอีก Row หนึง่ หรือสมาชิกของ Column หนึง่ มคี าเปนจํานวนเทาของสมาชิกอกี Column
หน่ึง

o Triangular Matrix a11 0 0

a11 a12 a13 a21 a22 0
0 a22 a23
0 0 a33 a31 a32 a33

Upper Triangle Lower Triangle

o Banded Matrix

[A] = a11 a12 0 0

a21 a22 a23 0

0 a32 a33 a34

0 0 a43 a44

3-4

Lecture Notes – Numerical Methods for Engineers Chapter 3 Systems of Linear Algebraic Equations

Gauss Elimination Method

• เปน วธิ กี ารแกระบบสมการท่ที ํากนั เปนปกตอิ ยแู ลว น่ันคอื การหาคา ของตวั แปรทลี ะตวั เพียงแตน าํ มาทํา
ใหเ ปนระบบมากยิง่ ข้ึน

• การแกร ะบบสมการ 2 ตวั แปร

สมมตใิ หม ีระบบสมการ

a11x1 + a12x2 = c1
a21x1 + a22x2 = c2
จากสมการที่ 1 จะได

x1 = c1 − a12x2
นําไปแทนในสมการท่ี 2 จะได a11

a + a x21⎜⎜⎛⎝ ⎟⎟⎠⎞ = c2
c1 − a12x2 22 2
a11

x2 = a11c2 − a21c1

a11a22 − a12a21

นํากลับไปแทนในสมการที่ 1 และจดั รูป จะได

x1 = a22c1 − a12c2
a11a22 − a12a21

หรือหากพิจารณาเฉพาะ x2 จะได = − ⎛⎝⎜⎜ a11 ⎟⎞⎟⎠x1 + c1
x2 = a12 a12

x2 − ⎝⎛⎜⎜ a21 ⎠⎞⎟⎟x1 + c2
a22 a22

=> เปรยี บเสมือนวา มีสมการเสนตรง 2 เสน จุดตัดของเสน ตรงท้งั สองคือคาํ ตอบ
=> ตอ งระวงั ปญหากรณีที่ระบบสมการเปน Ill-Conditioned System

x2 -0.5x1 + x2 = 1 x2 -0.5x1 + x2 = 1 x2

-0.5x1 + x2 = 1

-x1 + 2x2 = 2 -0.46x1 + x2 = 1.1

-0.5x1 + x2 = 0.5

x1 x1 x1

ขนานกัน เปนเสนเดียวกนั (Singular) ความชันใกลก ันมาก
=> ไมมคี ําตอบ => มคี าํ ตอบไมรจู บ => ระบจุ ดุ ตัดแนนอนไมได
=> ไวตอการเกิด Round-Off
Error

3-5

Lecture Notes – Numerical Methods for Engineers Chapter 3 Systems of Linear Algebraic Equations

• Determinant และ Cramer’s Rule

- Determinant => ตวั เลขตัวเดียวที่เปนตวั แทนของเมตริกสจ ัตุรสั
o 2nd Order

[A] = a11 a12
a21 a22

D= a11 a12 = a11a22 – a12a21
a21 a22
o 3rd Order
[A] = a11 a12 a13
a21 a22 a23
a31 a32 a33

D = a11 a12 a13

a21 a22 a23

a31 a32 a33

= a11 a22 a23 - a12 a21 a23 + a13 a21 a22
a32
a32 a33 a31 a33 a31

=> Determinant ของเมตริกสยอยขนาด 2 x 2 เรียกวา Minors

o Determinant ของเมตริกสทเ่ี ปน Singular = 0 (-0.5)(2) – (1)(-1) = 0
เชน D = -0.5 1 =
-1 2

o Determinant ของ Triangular Matrix = ผลคูณของสมาชิกในแนว Main Diagonal

- Cramer’s Rule => อาศัย Determinant ในการหาคา ของตัวแปร

เชน ระบบสมการ [A]⋅[X] = [C]

a11 a12 a13 x1 c1
a21 a22 a23 ⋅ x2 = c2
a31 a32 a33 x3
c3

เมื่อใช Cramer’s Rule จะไดค าของตัวแปรแตละตัวดงั น้ี

D = a11 a12 a13
a21 a22 a23
a31 a32 a33

3-6

Lecture Notes – Numerical Methods for Engineers Chapter 3 Systems of Linear Algebraic Equations

x1 = c1 a12 a13
c2 a22 a23
c3 a32 a33

D

x2 = a11 c1 a13

a21 c2 a23

a31 c3 a33

D

x3 = a11 a12 c1
a21 a22 c2
a31 a32 c3

D

=> ถา ระบบสมการมมี ากกวา 3 ตวั แปร จะคํานวณยุง ยากและใชเ วลานาน
=> ถา มบี างสมการเปน Singular ซงึ่ กันและกนั จะหาคําตอบไมได เพราะตวั หาร D = 0
=> ในความเปนจรงิ แลว Cramer’s Rule กค็ ือการหาคา ตัวแปรทีละตวั ทท่ี าํ กันอยูแลว เปน ปกตนิ นั่ เอง

Naive Gauss Elimination Method

ตัวอยางที่ 3-1 การหาคา ตัวแปรดว ยวธิ ีการกําจดั ตวั แปรทลี ะตัว กรณี 2 ตัวแปร

3x1 + 2x2 = 18 … (1)

-x1 + 2x2 = 2 … (2)

วิธที ํา

ขนั้ ที่ 1 (1) * -1/3 เพอ่ื ปรบั สมั ประสทิ ธ์ิหนา x1 ใน (1) ใหเหมือนใน (2) “Forward Elimination”
-x1 – 0.67x2 = -6 … (3) “Back Substitution”

(2) – (3) เพ่อื กําจัด x1 และหา (2)’
2.67x2 = 8 … (2)’

สรุประบบสมการ

3x1 + 2x2 = 18 … (1)
… (2)’
2.67x2 = 8

ขน้ั ที่ 2 หาคา ตัวแปรดวยการแทนคายอ นกลบั

x2 = 8 / 2.67 = 3
4
x1 = [18 – 2(3)] / 3 =

3-7

Lecture Notes – Numerical Methods for Engineers Chapter 3 Systems of Linear Algebraic Equations

• หลักการ (ยกตัวอยางกรณีระบบสมการ 3 ตวั แปร) a11 a12 a13 | c1
- Forward Elimination a21 a22 a23 | c2
กําจัดตัวแปรตัวแรกในสมการที่สองและสาม a31 a32 a33 | c3
กาํ จัดตวั แปรตวั ท่ีสองในสมการทส่ี าม
เหลอื สมการสดุ ทายและตัวแปรตวั สดุ ทา ยตัวเดียว a11 a12 a13 | c1
=> ได Upper Triangular Matrix 0 a22’ a23’ | c2’
0 0 a33’’ | c3’’
- Back Substitution
หาคา ตัวแปรตัวสุดทาย x3 = c3’’ / a33’’
แทนคา ยอ นกลับเพ่อื หาคาตวั แปรตวั ท่ีเหลือ x2 = (c2’-a23’x3) / a22’
x1 = (c1-a12x2-a13x3) / a11

• หลกั การทั่วไปสําหรับระบบสมการ n ตัวแปร = c1 … (1)
= c2 … (2)
- ระบบสมการ
a11x1 + a12x2 + … + a1nxn = cn … (n)
a12x2 + a22x2 + … + a2nxn
.
.
.
an1x1 + an2x2 + … + annxn

- Forward Elimination (2)’ = (2) – [(1) * a21/a11]
รอบท่ี 1 กาํ จดั x1 ในสมการ (2) ถึง (n) (n)’ = (n) – [(1) * an1/a11]
สมการ (2) จะถูกเปลี่ยนเปน (2)’ โดย
.
.
.
สมการ (n) จะถูกเปลยี่ นเปน (n)’ โดย

ระบบสมการท่ีถูกปรบั เปลี่ยนในรอบที่ 1 = c1 … (1)
a11x1 + a12x2 + … + a1nxn = c2’ … (2)’
a22’x2 + … + a2n’xn
. = cn’ … (n)’
.
.
an2’x2 + … + ann’xn

=> ในรอบน้ี สมการ (1) จะเปน Pivot Equation และสมั ประสิทธิ์ a11 จะเปน Pivot Coefficient

3-8

Lecture Notes – Numerical Methods for Engineers Chapter 3 Systems of Linear Algebraic Equations

รอบที่ 2 กําจดั x2 ในสมการ (3)’ ถงึ (n)’ (n)’’ = (n)’ – [(2)’ * an2’/a22’]
สมการ (n)’ จะถกู เปลีย่ นเปน (n)’’ โดย

=> ในรอบนี้ สมการ (2)’’ จะเปน Pivot Equation และสมั ประสิทธ์ิ a22’ จะเปน Pivot Coefficient

รอบท่ี n-1 กําจัด xn-1 ในสมการ (n)(n-2)
สมการ (n)(n-2) จะถกู เปลยี่ นเปน (n)(n-1) โดย (n)(n-1) = (n)(n-2) – [(n-1)(n-2) * an,n-1(n-2)/an-1,n-1(n-2)]

=> ในรอบนี้ สมการ (n-1)(n-2) จะเปน Pivot Equation และสัมประสทิ ธิ์ an-1,n-1(n-2) จะเปน Pivot
Coefficient

ระบบสมการทีถ่ ูกปรับเปลี่ยนในรอบที่ n-1 (รอบสุดทาย)

a11x1 + a12x2 + … + a1nxn = c1 … (1)
a22’x2 + … + a2n’xn = c2’ … (2)’

. cn(n-1) … (n)(n-1)

.

. =
ann(n-1)xn

- Back Substitution

หาคาตัวแปรตวั สดุ ทา ย

xn = c (n−1)
n

a (n−1)
nn

แทนคา ยอ นกลับเพือ่ หาคา ตัวแปรตัวที่เหลือ

c (i −1) ∑ ( )n
xi = i − a (i −1) ⋅ xj โดย i = n-1, n-2, …, 3, 2, 1
ij

j =i +1

a (i −1)
ii

• ปญหาของวิธี Naive Gauss Elimination

- ทาํ ไมไดถ า Pivot Coefficient ≅ 0 หรอื มขี นาดเล็กมากเม่ือเทียบกับสมั ประสิทธิ์ตัวอ่ืนๆ
=> อาจมกี ารหารดวย 0 เกดิ ขึ้นในข้นั ตอน Back Substitution
=> แกไ ขโดยการทํา Partial Pivoting หรอื การสลับ Row
(การทํา Complete Pivoting คอื การสลับทั้ง Row และ Column)

- ทาํ ไมไ ดถ า เปน Ill-Conditioned System โดยเฉพาะกรณีที่เกือบเปน Singular คอื ความชนั ใกลก นั
มากๆ
=> จะทาํ ให Determinant ของสัมประสทิ ธิ์ ≅ 0 และผลการคํานวณจะไมแ มน ยาํ
=> แกไขโดย 1) การทาํ Scaling – ทาํ ใหสมั ประสทิ ธ์ิตวั ที่มีคามากทส่ี ดุ ในแตละแถว = 1.0
(หารตลอดหรือ Normalize ดว ยสัมประสิทธิ์ตัวท่ีใหญที่สุดในแตล ะแถว)
2) คณู ดว ยคาคงทเี่ พือ่ ใหส ัมประสทิ ธิม์ ีขนาดใหญข ้นึ – Determinant ใหญข้ึน

3-9

Lecture Notes – Numerical Methods for Engineers Chapter 3 Systems of Linear Algebraic Equations

- ถา ไมท ําการแกไ ข อาจทําใหค าํ นวณไมได หรอื ไดคําตอบท่ผี ิดไปจากคา จรงิ
- บางครง้ั อาจตอ งทําทงั้ Scaling และ Pivoting

บางคร้งั อาจทาํ Scaling เพียงเพ่อื ดูวา จะตอ งทํา Pivoting กบั ระบบสมการต้ังตนหรือไม
- วธิ นี ม้ี ีชื่อวา “Naive” กเ็ พราะวาไมสามารถรองรบั ปญ หาเหลา นไี้ ด

ตวั อยางที่ 3-2 การทํา Partial Pivoting

2x2 + 3x3 = 8
4x1 + 6x2 + 7x3 = -3
2x1 + 0.01x2 + 6x3 = 5

วธิ ีทาํ สมการแรกจะใชเ ปนสมการท่ี 1 ไมไ ด เพราะสมั ประสทิ ธ์หิ นา x1 = 0

สมการสุดทายไมค วรใชเ ปน สมการท่ี 2 เพราะสมั ประสทิ ธห์ิ นา x2 มขี นาดเล็กเมื่อเทียบกับตัวอน่ื
การสลับ Row ใหเ หมาะสม อาจทําไดหลายแบบ เชน

4x1 + 6x2 + 7x3 = -3
2x2 + 3x3 = 8

2x1 + 0.01x2 + 6x3 = 5
หรือ

2x1 + 0.01x2 + 6x3 = 5
4x1 + 6x2 + 7x3 = -3

2x2 + 3x3 = 8

ตัวอยา งที่ 3-3 การทํา Scaling และการคูณดว ยคา คงท่ี

x1 + 2x2 = 10
1.1x1 + 2x2 = 10.4

วธิ ีทาํ ระบบสมการท่ีใหม าเกอื บเปน Singular คือ มีความชนั ใกลเคยี งกนั มาก ตรวจสอบไดจ ากคา Determinant

ของสัมประสิทธิ์ที่มีขนาดเล็ก

D = (1)(2) – (1.1)(2) = -0.2

หลงั จากทํา Scaling จะไดระบบสมการ

0.5x1 + x2 = 5
0.55x1 + x2 = 5.2

แตก รณนี ้ี การทํา Scaling กลบั ทาํ ใหแ ยลง เน่อื งจากคา Determinant กลับเล็กลง (D = -0.05)

หลังจากคูณระบบสมการดวย 10 จะไดระบบสมการ

10x1 + 20x2 = 100
11x1 + 20x2 = 104
กรณนี ีน้ า จะทาํ ใหระบบสมการดีข้นึ เนือ่ งจากคา Determinant มีขนาดใหญข ึ้น (D = -20)

3-10

Lecture Notes – Numerical Methods for Engineers Chapter 3 Systems of Linear Algebraic Equations

ตวั อยา งที่ 3-4 จงแกระบบสมการตอไปน้ีดว ย Naive Gauss Elimination Method

3x1 - 0.1x2 - 0.2x3 = 7.85
0.1x1 + 7x2 - 0.3x3 = -19.3
0.3x1 - 0.2x2 + 10x3 = 71.4

วธิ ีทาํ จดั รปู เมตรกิ สของระบบสมการ … (1)
… (2)
3 -0.1 -0.2 | 7.85 … (3)
0.1 7 -0.3 | -19.3
0.3 -0.2 10 | 71.4

Forward Elimination … (1)
กาํ จดั x1 ในสมการ (2) และ (3) … (2)’ = (2) – [(1) * 0.1/3]
… (3)’ = (3) – [(1) * 0.3/3]
3 -0.1 -0.2 | 7.85
0 7.0033 -0.2933 | -19.5617
0 -0.19 10.02 | 70.615

กําจดั x2 ในสมการ (3)’ -0.2 | 7.85 … (1)
3 -0.1 -0.2933 | -19.5617 … (2)’
0 7.0033 10.012 | 70.0843 … (3)’’ = (3)’ – [(2)’ * -0.19/7.0033]
00

Back Substitution 70.0843 = 7.0000
x3 =
x2 = 10.012 = -2.5000
x1 = − 19.5617 − (−0.2933)(7) 3.0000

สรุปคําตอบ 7.0033

7.85 − (−0.1)(−2.5) − (−0.2)(7) =

3

x1 = 3.00 x2 = -2.50 x3 = 7.00

3-11

Lecture Notes – Numerical Methods for Engineers Chapter 3 Systems of Linear Algebraic Equations

Gauss-Jordan Method และ Matrix Inverse Method

Gauss-Jordan Method

• คลา ย Gauss Elimination Method แตแทนท่จี ะทาํ ใหเมตริกสส มั ประสิทธ์ิกลายเปน Upper Triangular
Matrix กท็ ําใหเ ปน เมตริกสเอกลักษณแ ทน ซ่งึ จะทาํ ใหไ มตองทาํ Back Substitution น่นั คอื แทนท่ีจะ
กําจดั ตัวแปรเฉพาะในสมการถัดๆ ไป กท็ าํ การกาํ จดั ตัวแปรในทกุ สมการเลย

• หลักการ (ยกตวั อยางกรณีระบบสมการ 3 ตวั แปร)
- เปล่ยี นเมตริกสสัมประสิทธใิ์ หเปน เมตริกสเ อกลกั ษณด วยการทํา Elimination

a11 a12 a13 | c1 x1 c1‘’’
a21 a22 a23 | c2 x2 = c2‘’’
a31 a32 a33 | c3 x3 c3‘’’

1 0 0 | c1’’’
0 1 0 | c2’’’
0 0 1 | c3’’’

• ขอ ดี => ไมตองทาํ Back Substitution
=> ใชห า Matrix Inverse ไดส ะดวก

• ขอดอย => มีปญ หาคลายกับ Gauss Elimination Method ซ่งึ แกไขไดดวย Pivoting และ Scaling
เชนเดียวกัน
=> เทยี บกับ Gauss Elimination Method แลว จํานวนครงั้ ในการคํานวณเพ่ิมขึ้นประมาณ 50%

ตัวอยางที่ 3-5 จงแกร ะบบสมการตอ ไปน้ดี วย Gauss-Jordan Method

3x1 - 0.1x2 - 0.2x3 = 7.85
0.1x1 + 7x2 - 0.3x3 = -19.3
0.3x1 - 0.2x2 + 10x3 = 71.4

วิธีทํา จัดรูปเมตรกิ สของระบบสมการ … (1)
… (2)
3 -0.1 -0.2 | 7.85 … (3)
0.1 7 -0.3 | -19.3
0.3 -0.2 10 | 71.4

3-12

Lecture Notes – Numerical Methods for Engineers Chapter 3 Systems of Linear Algebraic Equations

รอบที่ 1 -0.0667 | 2.6167 … (1)’ = (1) / 3
- Normalize สมการ (1) -0.3 | -19.3 … (2)
10 | 71.4 … (3)
1 -0.0333
0.1 7
0.3 -0.2

- กาํ จัด x1 ในสมการ (2) และ (3) … (1)’
1 -0.0333 -0.0667 | 2.6167 … (2)’ = (2) – [(1)’ * 0.1]
0 7.0033 -0.2933 | -19.5617 … (3)’ = (3) – [(1)’ * 0.3]
0 -0.19 10.02 | 70.615

รอบที่ 2 -0.0667 | 2.6167 … (1)’
- Normalize สมการ (2)’ -0.0419 | -2.7932 … (2)’’ = (2)’ / 7.0033
10.02 | 70.615 … (3)’
1 -0.0333
01
0 -0.19

- กําจัด x2 ในสมการ (1)’ และ (3)’ … (1)’’ = (1)’ – [(2)’’ * -0.0333]
1 0 -0.0681 | 2.5236 … (2)’’
0 1 -0.0419 | -2.7932 … (3)’’ = (3)’ – [(2)’’ * -0.19]
0 0 10.012 | 70.0843

รอบท่ี 3 -0.0681 | 2.5236 … (1)’’
- Normalize สมการ (3)’’ -0.0419 | -2.7932 … (2)’’
… (3)’’’ = (3)’’ / 10.012
10 1 | 7.0003
01
00

- กาํ จดั x3 ในสมการ (1)’’ และ (2)’’ | 3.0000 … (1)’’’ = (1)’’ – [(3)’’’ * -0.0681]
100 | -2.5000 … (2)’’’ = (2)’’ – [(3)’’’ * -0.0419]
010 | 7.0003 … (3)’’’
001

สรปุ คําตอบ x1 = 3.00 x2 = -2.50 x3 = 7.00

3-13

Lecture Notes – Numerical Methods for Engineers Chapter 3 Systems of Linear Algebraic Equations

Matrix Inverse Method

• จากระบบสมการ [A]⋅[X] = [C]
[X] = [A]-1⋅[C]
จะไดคาของตวั แปร

• หลกั การ (ยกตัวอยา งกรณีระบบสมการ 3 ตวั แปร)

- หาอนิ เวอรสของเมตรกิ สสัมประสทิ ธโ์ิ ดยใช Gauss-Jordan Method

a11 a12 a13 | 1 0 0
a21 a22 a23 | 0 1 0
a31 a32 a33 | 0 0 1

1 0 0 | a11-1 a12-1 a13-1
0 1 0 | a21-1 a22-1 a23-1
0 0 1 | a31-1 a32-1 a33-1

- หาคาของตวั แปรจาก [X] = [A]-1⋅[C]

• ขอ ดี => เปน วธิ ที างคณิตศาสตรท่ีตรงไปตรงมา เขา ใจไดง าย
=> เก็บ [A]-1 ไวใชไ ดต ลอด สําหรับกรณที ่รี ะบบสมการมี [A] เหมอื นเดมิ แต [C] เปล่ยี น

• ขอ ดอย => มปี ญ หาคลายกบั Gauss Elimination Method ซ่งึ แกไขไดดว ย Pivoting และ Scaling
เชนเดยี วกนั
=> เทียบกับ Gauss Elimination Method แลว จํานวนครัง้ ในการคํานวณเพ่ิมขน้ึ ประมาณ 50%

• การตรวจสอบวาระบบสมการอาจจะเปน Ill-Conditioned System หรอื ไมด วยการใช Matrix Inverse
- ผลคณู ระหวา ง [A] และ [A]-1 ตองใกลเคียง [I] ถา ไม อาจเปน Ill-Conditioned System
- หาอินเวอรส ของ [A]-1 อีกคร้ัง ตองใกลเคียง [A] ถาไม อาจเปน Ill-Conditioned System
- หลังจากทาํ Scaling เมตรกิ ส [A] และหา [A]-1 แลว พบวาสมาชกิ ใน [A]-1 หลายตัวมคี า มากกวา 1

อาจเปน Ill-Conditioned System

• วิธีทางเลอื กท่ีสามารถใชในการตรวจสอบวาระบบสมการอาจจะเปน Ill-Conditioned System หรือไม

แทนวิธีทกี่ ลา วถึงดานบน คอื การใช Matrix Condition Number ซึง่ เปน เลขตัวเดยี วท่อี าจดูงายกวา

- Matrix Condition Number ||A||⋅||A-1||

Cond [A] =

ถา Cond [A] >>> 1 อาจเปน Ill-Conditioned System

3-14

Lecture Notes – Numerical Methods for Engineers Chapter 3 Systems of Linear Algebraic Equations

- Norm ของ Matrix สามารถหาได 2 แบบ

o Frobenius Norm หรือ Euclidean Norm

||A||e = nn

∑ ∑ ai2j
i =1 j =1

=> รากท่สี องผลรวมของคากาํ ลังสองของสมาชกิ ทกุ ตัว

=> เปรยี บเสมือนเปนการบอกขนาดของเมตรกิ ส

o Uniform Matrix Norm หรือ Row-Sum Norm

||A||∞ = n
∑max
| aij |
1≤i ≤n
j =1

=> คา ที่มากที่สดุ ของผลรวมของขนาดของสมาชกิ ในแตละแถว

=> นิยมใชม ากกวา Frobenius Norm เพราะคาํ นวณงา ยกวา

ตัวอยา งท่ี 3-6 จงแกระบบสมการตอ ไปนีด้ วย Matrix Inverse Method

3x1 - 0.1x2 - 0.2x3 = 7.85
0.1x1 + 7x2 - 0.3x3 = -19.3
0.3x1 - 0.2x2 + 10x3 = 71.4

วธิ ที ํา จัดรูปเมตริกสข องระบบสมการ

3 -0.1 -0.2 | 1 0 0
0.1 7 -0.3 | 0 1 0
0.3 -0.2 10 | 0 0 1

หาอินเวอรสของเมตริกสสมั ประสิทธิ์ 0.0049 0.0068
1 0 0 | 0.3325 0.1423 0.0042
0 1 0 | -0.0052 0.0027 0.0999
0 0 1 | -0.0108

หาคาของตัวแปร 0.3325 0.0049 0.0068 7.85 3.0004
-0.0052 0.1423 0.0042 ⋅ -19.3 = -2.4881
x1 -0.0108 0.0027 0.0999 71.4 7.0003
x2 =
x3

สรุปคําตอบ x1 = 3.00 x2 = -2.50 x3 = 7.00

3-15

Lecture Notes – Numerical Methods for Engineers Chapter 3 Systems of Linear Algebraic Equations

LU Decomposition Method

• เปน วธิ หี นึง่ ในกลมุ วิธี Elimination

• เหมาะสําหรับกรณีท่รี ะบบสมการมี [A] เหมอื นเดิม แต [C] เปลี่ยน

• หลักการ (ยกตวั อยางกรณีระบบสมการ 4 ตวั แปร และ Crout Decomposition)

- ระบบสมการ [A]⋅[X] = [C]

- Decomposition => แยก [A] ออกเปน [L] และ [U]

[A] = [L]⋅[U]

โดย [L] = l11 0 0 0 [U] = 1 u12 u13 u14
l21 l22 0 0 0 1 u23 u24
l31 l32 l33 0 0 0 1 u34
l41 l42 l43 l44 0 001

ดงั นน้ั จะสามารถเขยี นระบบสมการไดเปน

[L]⋅[U]⋅[X] = [C]

ถากาํ หนดให [D] เปน เมตรกิ สของคาคงทีท่ ห่ี าไดจ าก

[U]⋅[X] = [D]

จะได

[L]⋅[D] = [C]

- Forward Substitution => หาคา [D] จาก [L]⋅[D] = [C]

l11 0 0 0 d1 c1 d1 = c1 / l11

l21 l22 0 0 ⋅ d2 = c2 => d2 = (c2 – l21d1) / l22

l31 l32 l33 0 d3 c3 d3 = (c3 – l31d1 – l32d2) / l33

l41 l42 l43 l44 d4 c4 d4 = (c4 – l41d1 – l42d2 – l43d3) / l44

- Backward Substitution => หาคา [X] จาก [U]⋅[X] = [D]

1 u12 u13 u14 x1 d1 x1 = d1 – u12x2 – u13x3 – u14x4

0 1 u23 u24 ⋅ x2 = d2 => x2 = d2 – u23x3 – u24x4

0 0 1 u34 x3 d3 x3 = d3 – u34x4

0 0 0 1 x4 d4 x4 = d4

• จดุ สําคัญของวธิ ีนี้ คือ วธิ ีการแยก [A] ใหเปน [L] และ [U] ซ่งึ มี 3 วิธีท่นี ิยมใชกนั ไดแ ก
- Crout Decomposition
- Doolittle Decomposition
- Cholesky Decomposition

3-16

Lecture Notes – Numerical Methods for Engineers Chapter 3 Systems of Linear Algebraic Equations

• Crout Decomposition

=> สมาชิกในแนวเสนทแยงมมุ ของ [U] มคี า เทา กับ 1

[L]⋅[U] = [A]

l11 0 0 0 1 u12 u13 u14 a11 a12 a13 a14

l21 l22 0 0 ⋅ 0 1 u23 u24 = a21 a22 a23 a24

l31 l32 l33 0 0 0 1 u34 a31 a32 a33 a34
l41 l42 l43 l44 0001 a41 a42 a43 a44

- Column ที่ 1 ของ [L]

l11 = a11 l21 = a21 l31 = a31 l41 = a41

- Row ที่ 1 ของ [U]

l11u12 = a12 l11u13 = a13 l11u14 = a14
u =12 a12
u =13 a13 u =14 a14
l11
l11 l11
- Column ที่ 2 ของ [L]

l21u12 + l22 = a22 l31u12 + l32 = a32 l41u12 + l42 = a42
l22 = a22 – l21u12 l32 = a32 – l31u12 l42 = a42 – l41u12

- Row ท่ี 2 ของ [U]

l21u13 + l22u23 = a23 l21u14 + l22u24 = a24
u =23 a23 − l u21 13 u =24 a24 − l21u14

l22 l22

- Column ท่ี 3 ของ [L]

l31u13 + l32u23 + l33 = a33 l41u13 + l42u23 + l43 = a43

l33 = a33 – l31u13 – l32u23 l43 = a43 – l41u13 – l42u23

- Row ท่ี 3 ของ [U]

l31u14 + l32u24 + l33u34 = a34
u =34 a34 − l31u14 − l32u24

l33

- Column ที่ 4 ของ [L]

l41u14 + l42u24 + l43u34 + l44 = a44
l44 = a44 – l41u14 – l42u24 – l43u34

• รูปทว่ั ไปสาํ หรบั LU Decomposition Method ทใี่ ช Crout Decomposition

- Crout Decomposition

1) li1 = ai1 โดย i = 1, 2, …, n
u1j =
a1j โดย j = 2, 3, …, n

l 11

3-17

Lecture Notes – Numerical Methods for Engineers Chapter 3 Systems of Linear Algebraic Equations

2) สําหรับ j = 2, 3, …, n-1 โดย i = j, j+1, …, n
l = ∑j−1 k = j+1, j+2, …, n

ij aij − (l ik ukj ) i = 2, 3, …, n
k =1 i = n-1, n-2, …, 1

ujk = j −1 โดย

∑ajk − (l jiuik )
i =1

l jj

3) lnn = n −1

∑ann − (l unk kn )
k =1

- Forward Substitution

1) d1 = c1

l11

2) di = i −1 โดย

∑ci − (l ij d j )
j =1

l ii

- Backward Substitution

1) xn = dn

2) xi = โดยn
∑d i − (uij x j )
j =i +1

• Doolittle Decomposition

=> ตา งกับ Crout Decomposition ตรงที่สมาชิกในแนวเสนทแยงมมุ ของ [L] จะมีคา เทา กบั 1 และสมาชิก

ของ [L] และ [U] จะไดมาจากขน้ั ตอน Forward Elimination ของ Naive Gauss Elimination Method

[L]⋅[U] = [A]

1 0 0 u11 u12 u13 a11 a12 a13

l21 1 0⋅0 u22 u23 = a21 a22 a23

l31 l32 1 0 0 u33 a31 a32 a33

โดย u11 u12 u13 a11 a12 a13

0 u22 u23 = 0 a22’ a23’

0 0 u33 0 0 a33’’

และ 100 10 0

l21 1 0 = f21 1 0

l31 l32 1 f31 f32 1

โดย f =21 a21 f =31 a31 f =32 a3' 2
a2' 2
a11 a11

=> Crout Decomposition คอ นขา งสะดวกกวาเนื่องจากใชเ พียงการคูณเมตริกสเทานั้น

3-18

Lecture Notes – Numerical Methods for Engineers Chapter 3 Systems of Linear Algebraic Equations

• Cholesky Decomposition
=> ตา งกับ Crout Decomposition ตรงท่ีจะแยก [A] ออกเปน [L] และ [L]T
[A] = [L]⋅[L]T

โดย [L] = l11 0 0
l21 l22 0
l31 l32 l33

=> รปู ทวั่ ไปสําหรบั Cholesky Decomposition

1) l11 = a11

2) lii = i −1 โดย i = 2, 3, …, n
j = 2, 3, …, i-1 และ j < i
∑aii − li2k
k =1

j −1

3) l = โดย∑aij − l ik l jk
ij k =1
l jj

• ขอดี => สะดวก เขา ใจไดงาย โดยเฉพาะสะดวกในการเขยี นโปรแกรมคอมพิวเตอร
=> การคาํ นวณงา ยกวา Gauss Elimination Method และ Gauss-Jordan เน่อื งจากใชเ พียงการ
คณู เมตรกิ สเทานั้น
=> เกบ็ [L] และ [U] ไวใชไดตลอด สาํ หรับกรณีท่ีระบบสมการมี [A] เหมือนเดมิ แต [C] เปล่ยี น

• ขอดอย => มีปญ หาคลายกับ Gauss Elimination Method ซ่งึ แกไขไดดว ย Pivoting และ Scaling
เชนเดยี วกัน

• การใช LU Decomposition Method ในการหาอนิ เวอรสของเมตรกิ สสมั ประสิทธ์ิ [A]-1

=> ในขน้ั ตอน Forward Substitution ใหเปลี่ยนจาก [C] เปน แตละ Column ของเมตรกิ สเอกลักษณ [I]
จากน้นั หา [D] และ [X] ตามปกติ คาตัวเลขใน [X] ที่ไดจะเปนสมาชิกในแตล ะ Column ใน [A]-1

เชน ในระบบสมการ 3 ตวั แปร จะได Column ที่ 1 ของ [A]-1

ใช 1 แทน [C]

0

0

ใช 0 แทน [C] จะได Column ท่ี 2 ของ [A]-1
1
0

ใช 0 แทน [C] จะได Column ที่ 3 ของ [A]-1
0
1

3-19

Lecture Notes – Numerical Methods for Engineers Chapter 3 Systems of Linear Algebraic Equations

ตวั อยางที่ 3-7 จงแกร ะบบสมการตอไปน้ีดว ย LU Decomposition Method

3x1 - 0.1x2 - 0.2x3 = 7.85
0.1x1 + 7x2 - 0.3x3 = -19.3
0.3x1 - 0.2x2 + 10x3 = 71.4

วธิ ีทาํ Decomposition 01 u12 u13 3 -0.1 -0.2
0⋅0 7 -0.3
l11 0 l33 0 1 u23 = 0.1 -0.2 10
l21 l22
l31 l32 01 0.3 1 -0.0333 -0.0667
0 1 -0.0419
Column ที่ 1 ของ [L] 001

l11 = 3 l21 = 0.1 l31 = 0.3
Row ที่ 1 ของ [U]

l11u12 = -0.1 l11u13 = -0.2

u12 = -0.0333 u13 = -0.0667

Column ที่ 2 ของ [L]

l21u12 + l22 = 7 l31u12 + l32 = -0.2
l22 = 7.0033 l32 = -0.19

Row ท่ี 2 ของ [U]

l21u13 + l22u23= -0.3

u23 = -0.0419

Column ท่ี 3 ของ [L]

l31u13 + l32u23 + l33 = 10

l33 = 10.012

สรปุ [L] = 3 0 0 [U] =
0.1 7.0033 0
0.3 -0.19 10.012

Forward Substitution

300 d1 7.85 d1 = 2.6167
= -19.3 => d2 = -2.7923
0.1 7.0033 0 ⋅ d2
71.4 d3 = 7.0000
0.3 -0.19 10.012 d3

Backward Substitution

1 -0.0333 -0.0667 x1 2.6167 x1 = 3.0004

0 1 -0.0419 ⋅ x2 = -2.7923 => x2 = -2.4999

001 x3 7.0000 x3 = 7.0000

สรปุ คาํ ตอบ x1 = 3.00 x2 = -2.50 x3 = 7.00

3-20

Lecture Notes – Numerical Methods for Engineers Chapter 3 Systems of Linear Algebraic Equations

Gauss-Seidel Method

• เปนวิธปี ระเภท Iteration มหี ลกั การคลายกับวิธี Simple One-Point Iteration

• เหมาะกบั ระบบสมการขนาดใหญก วา 100 ตัวแปร เนอ่ื งจากไมมปี ญ หา Round-Off Error เหมอื นวธิ ใี น
กลุม Elimination

• เปนวิธที ่ีนยิ มใชมากทีส่ ุดในการแกระบบสมการเชิงเสน

• หลักการ

- ระบบสมการ c1
a11x1 + a12x2 + a13x3 + … + a1nxn = c2
a21x1 + a22x2 + a23x3 + … + a2nxn = .
.. .
.. .
.. cn
an1x1 + an2x2 + an3x3 + … + annxn =

- จดั ระบบสมการใหอ ยูในรปู ทที่ าํ Iteration ได

- เลือกคา เรมิ่ ตนสาํ หรบั ตัวแปรแตล ะตวั และคาํ นวณคา ตัวแปรคาใหมท ลี ะตัว โดยคาตัวแปรคาใหมที่
ไดลา สดุ จะถกู ใชใ นสมการถัดๆ ไปทันที คาตัวแปรคาใหมแตล ะตัวทไี่ ดถอื วาเปน คา ประมาณของ
คาํ ตอบ

=xi +1 c1 − a12x2i − a13x3i − ... − a1n xni
1 a11

=xi +1 c2 − a21x1i +1 − a23x3i − ... − a2n xni
2 a22

=x i +1 c3 − a31 x i +1 − a32 x i +1 − ... − a 3n x i
3 1 2 n

a33

..
..
..

=x i +1 cn − a n1 x i +1 − an2 x i +1 − ... − a n,n −1 x i +1
n 1 2 n −1

ann

- คํานวณ Error ของแตล ะตัวแปร

=ε axn xi +1 − xni × 100%
n

xi +1
n

ถา εaxn < εsxn => หยุดคาํ นวณได และใช xni+1 ในรอบสุดทา ยเปนคาํ ตอบ
ถา ไม เริม่ คํานวณรอบใหมโดยใช xni+1 ในรอบปจจบุ นั เปน xni ในรอบถัดไป

3-21

Lecture Notes – Numerical Methods for Engineers Chapter 3 Systems of Linear Algebraic Equations

• ขอดี => เขาใจไดง าย
=> เหมาะกบั ระบบสมการขนาดใหญกวา 100 ตวั แปร เนื่องจากไมมีปญ หา Round-Off Error
จากการลบสมการไปมาเหมอื นวธิ ีในกลุม Elimination

• ขอ ดอย => คา ของสมาชิกในแนวเสน ทแยงมมุ หลกั ของเมตรกิ สสัมประสทิ ธจ์ิ ะเปน ศนู ยไมไ ดและไมควรมี
คา เล็กมากเมื่อเทียบกับสมั ประสิทธิต์ ัวอ่ืนๆ แกไขไดด ว ย Pivoting
=> อาจลูเขาหาคําตอบชา ถา ไมเปน Diagonal Dominant คอื ถาสมาชิกในแนวเสนทแยงมมุ
หลักของเมตริกสส มั ประสิทธิ์ไมม คี ามากเม่ือเทยี บกับสัมประสิทธติ์ ัวอื่นๆ
=> อาจไมลเู ขาหาคําตอบ
=> เน่อื งจากเปนวธิ ี Iteration คาํ ตอบท่ไี ดจ ึงเปนคาคาํ ตอบโดยประมาณ

• การตรวจสอบโอกาสในการลูเขาหาคาํ ตอบของ Gauss-Seidel Method

- ถามีระบบสมการ u(x, y, z) = 0 v(x, y, z) = 0 และ w(x, y, z) = 0

การใช Gauss-Seidel Method จะมีโอกาสลเู ขาหาคาํ ตอบสงู เมอ่ื

∂u + ∂v + ∂w < 1

∂x ∂x ∂x

∂u + ∂v + ∂w < 1

∂y ∂y ∂y

∂u + ∂v + ∂w < 1

∂z ∂z ∂z

- การใช Guass-Seidel Method จะมโี อกาศลูเขาหาคําตอบสูงและเร็ว ถา ขนาดของสมาชกิ ในแนวเสน

ทแยงมมุ หลกั ของเมตรกิ สสัมประสทิ ธใ์ิ นแตละแถวมคี ามากกวาผลรวมของสมั ประสิทธติ์ ัวอืน่ ๆ ใน

แถวเดียวกนั > n
|aii|
∑ | aij |

j =1
J≠i

• Relaxation => เทคนคิ ในการลดหรือเพิม่ ความเรว็ ในการลูเขา หาคําตอบ

คาตวั แปรตวั ใหมทค่ี าํ นวณไดจ ะถูกปรบั คาดว ย Weighting Factor λ กอนที่จะนาํ ไปใช
xnew = λ⋅xnew + (1 – λ)⋅xold

=> Underrelaxation (0 < λ < 1) = ลดความเร็ว ทําใหท่ีจะไมลเู ขาหาคําตอบ อาจลเู ขา หาคาํ ตอบได
=> Overrelaxation (1 < λ < 2) = เพิ่มความเร็ว ทาํ ใหที่ลเู ขา หาคําตอบ จะลูเ ขาหาคาํ ตอบเรว็ ข้ึน
=> การใช Gauss-Seidel Method ตามปกตกิ ็คอื กรณที ่ี λ = 1 นน่ั เอง

• Jacobi Iteration Method มหี ลกั การคํานวณเหมือนกับ Gauss-Seidel Method ทกุ ประการ ตา งกนั ตรงที่
Jacobi Iteration Method จะไมใชคา ตวั แปรคา ใหมลาสุดในสมการถดั ๆ ไปทันทใี นรอบเดียวกัน แตจะใช
คาตวั แปรเร่มิ ตนชดุ เดยี วในการหาคาตวั แปรคา ใหมใ หไดครบทกุ ตวั กอนทจ่ี ะใชคาตวั แปรคา ใหมท ้งั หมด
เปน คาเรมิ่ ตนในรอบถัดไปพรอมๆ กนั
=> โดยท่วั ไปแลว Jacobi Iteration Method จะลเู ขาหาคําตอบชา กวา Gauss-Seidel Method

3-22

Lecture Notes – Numerical Methods for Engineers Chapter 3 Systems of Linear Algebraic Equations

ตัวอยางที่ 3-8 จงแกร ะบบสมการตอ ไปนดี้ วย Gauss-Seidel Method

3x1 - 0.1x2 - 0.2x3 = 7.85
0.1x1 + 7x2 - 0.3x3 = -19.3
0.3x1 - 0.2x2 + 10x3 = 71.4

กาํ หนดเง่ือนไขการหยุดคาํ นวณ |εs| < 0.5%

วธิ ีทาํ จดั รูประบบสมการ
x1 =
7.85 − (−0.1)x2 − (−0.2)x3
x2 = 3

x3 = − 19.3 − (0.1)x1 − (−0.3)x3
7

71.4 − (0.3)x1 − (−0.2)x2
10

เลอื กคา เร่มิ ตน x1 = x2 = x3 = 0

รอบที่ 1 = 7.85 − (−0.1)(0) − (−0.2)(0) = 2.6167
x1 = -2.7945
3 = 7.0056
x2
= − 19.3 − (0.1)(2.6167) − (−0.3)(0)
x3
7

= 71.4 − (0.3)(2.6167) − (−0.2)(−2.7945)

10

รอบที่ 2 = 7.85 − (−0.1)(−2.7945) − (−0.2)(7.0056) = 2.9905 (|εa| = 12.50%)
x1 = -2.4996 (|εa| = 11.80%)
3 = 7.0003 (|εa| = 0.08%)
x2
= − 19.3 − (0.1)(2.9905) − (−0.3)(7.0056) (|εa| = 0.32%)
x3 (|εa| = 0.02%)
7 (|εa| = 0.00%)

= 71.4 − (0.3)(2.9905) − (−0.2)(−2.4996)

10

รอบที่ 3 = 7.85 − (−0.1)(−2.4996) − (−0.2)(7.0003) = 3.0000
x1 = -2.5000
x2 3 = 7.0000
x3
= − 19.3 − (0.1)(3.0000) − (−0.3)(7.0003)
สรุปคาํ ตอบ
7

= 71.4 − (0.3)(3.0000) − (−0.2)(−2.5000)

10

x1 = 3.00 x2 = -2.50 x3 = 7.00

3-23


Click to View FlipBook Version