Post on 29-Jul-2015
description
29/01/2012
1
การใช้งานโปรแกรม Scilab เพื�อแก้ปัญหาเรื�องเมทริกซแ์ละระบบสมการเชิงเส้น
(Matrix & Linear Equation System with Scilab)
M. Sophonสาํนักวชิาวศิวกรรมศาสตรฯ์
สาขาวศิวกรรมคอมพวิเตอร์
มหาวทิยาลยัวลยัลกัษณ์
Updated: 29-Jan-2012
เนื�อหา
• แนะนําเมทรกิซ ์และ เมทรกิซพ์เิศษ
• เมทรกิซส์ลบัเปลี�ยน และสมบตัขิองเมทรกิซ์
• การบวกเมทรกิซ์
• การคูณเมทรกิซ์
• ตวักําหนด (Determinant)
• การใชเ้มทรกิซแ์กร้ะบบสมการเชงิเสน้
2
What is Matrix?
• เมทริกซ์ คือ กลุ่มของจํานวนที�ถกูจดัเรียงกนัเป็นรูปสี�เหลี�ยมมมุฉากอยู่ภายในเครื�องหมาย [ ] ซึ�งมีรูปทั�วไปดงันี %
�11 �1� �1��21 ��� �2���1 ��� ���
�1��2����
��1 ��2 ���
Column Matrix Row Matrix, Vector Square Matrix
�11 �12�21 �22
3
29/01/2012
2
การสร้างเมทริกซ์
• การสรา้งเมทรกิซใ์นโปรแกรม Scilab สามารถสรา้งไดด้งันี8
• ตวัอย่าง จงสรา้งเมทรกิซ ์A ใหม้คี่าดงัต่อไปนี8
2 1 �1
0 4 3
1 0 1
4
• ตวัอย่าง จงสรา้งเมทรกิซ ์B ใหม้คี่าดงัต่อไปนี8
• ตวัอย่าง จงสรา้งเมทรกิซ ์C ใหม้คี่าดงัต่อไปนี8
�1
0
1
5 0 4
5
เมทริกซ์พเิศษ
• เมทริกซศ์นูย ์(Zero Matrix, Null Matrix) คอื เมทรกิซท์ี�มสีมาชกิทุกตวัเป็นศูนย์
• เมทริกซเ์อกลกัษณ์ (Identity Matrix) คอื เมทรกิซส์มาชกิตวัที� aii = 1 และ aij = 0
0 0 0
0 0 0
0 0 0
1 0 0
0 1 0
0 0 1
6
29/01/2012
3
• เมทริกซค่์าหนึ�ง (One Matrix) คอื เมทรกิซท์ี�มสีมาชกิทุกตวัเป็นหนึ�ง
• เมทริกซท์แยงมุม (Diagonal Matrix) คอื เมทรกิซท์ี�มสีมาชกิในแนวเสน้ทแยงมุมเท่านั 8นที�มคี่าตามที�กําหนดไว ้สว่นสมาชกิตวัอื�นจะมีค่าเป็นศูนย ์เชน่
1 1 1
1 1 1
1 1 1
1 0 0
0 3 0
0 0 2
4 0 0
0 7 0
0 0 −2
7
• เมทริกซส์ามเหลี�ยมบน (Upper-Triangular Matrix) คอื เมทรกิซท์ี�มสีมาชกิตวัที�อยู่ใตเ้สน้ทแยงมุมเป็นศูนยท์ั 8งหมด เชน่
• เมทริกซส์ามเหลี�ยมล่าง (Lower-Triangular Matrix) คอื เมทรกิซ์ที�มสีมาชกิตวัที�อยู่เหนือเสน้ทแยงมุมเป็นศูนยท์ั 8งหมด เชน่
1 4 1
0 3 6
0 0 2
1 0 0
2 3 0
1 7 2
8
การสร้างเมทริกซพิ์เศษ
• เมทริกซศ์นูย์ ใชค้ําส ั �ง zeros (m,n) โดยที� m เป็นจํานวนแถว และ n เป็นจํานวนคอลมัน์
9
29/01/2012
4
• เมทริกซเ์อกลกัษณ์ (Identity Matrix) ใชค้ําส ั �ง eye(m,n) โดยที� m เป็นจํานวนแถว และ n เป็นจํานวนคอลมัน์
• เมทริกซค่์าหนึ�ง (One Matrix) ใชค้ําส ั �ง ones(m,n) โดยที� m เป็นจํานวนแถว และ n เป็นจํานวนคอลมัน์
10
• เมทริกซท์แยงมุม (Diagonal Matrix) ใชค้ําส ั �ง diag(vm,k) โดยที� vm คอืค่าของ Vector ที�จะแสดงในแนวเสน้ทแยงมุม และ k คอื ลาํดบัของเสน้ทแยงมุม ซึ�ง หาก k=0 หมายถงึเสน้ทแยงมุมหลกั หาก k>0 หมายถงึเสน้ทแยงมุมลาํดบัที� k เหนือเสน้ทแยงมุมหลกั และในทํานองเดยีวกนัหาก k<0 หมายถงึเสน้ทแยงมุมลาํดบัที� |k| ใตเ้สน้ทแยงมุมหลกั
11
• เราสามารถใช้คําสั�ง diag() ในการแสดงค่าของสมาชิกที�อยู่ในแนวเส้นทแยงมมุได้
• ตวัอย่าง กําหนดเมทริกซ์ M ขนาด 4x4 ให้มีค่าดงันี %
• จงแสดงค่าที�อยู่ในแนวทแยงมมุของหลกั, แนวทแยงมมุลําดบัที� 1 เหนือและใต้เส้นทแยงมมุหลกัของเมทริกซ์ M
12
29/01/2012
5
• วิธีทาํ
เส้นทแยงมุมหลกัลาํดบัที� 1 เหนือเส้นทแยงมุม
ลาํดบัที� 1 ใต้ เส้นทแยงมุม
13
• เมทริกซส์ามเหลี�ยมบน (Upper-Triangular Matrix) ใชค้ําส ั �ง triu(a,k) โดยที� a คอื Matrix ใดๆ และ k คอื ลาํดบัของเสน้ทแยงมุม
14
• เมทริกซส์ามเหลี�ยมล่าง (Lower-Triangular Matrix) ใชค้ําส ั �ง tril(a,k) โดยที� a คอื Matrix ใดๆ และ k คอื ลาํดบัของเสน้ทแยงมุม
15
29/01/2012
6
เมทริกซส์ลบัเปลี�ยน (Transpose of Matrix)
• เมทริกซ์สลับเปลี�ยน คือ เมทริกซ์ที�ทําการสลบั แถวไปเป็นคอลมัน์ และ สลบัคอลมัน์ไปเป็นแถว ดงัตวัอย่างต่อไปนี %
• สญัลกัษณ์ที�ใช้บ่งบอกการสลบัเปลี�ยนของเมทริกซ์ คือ At หรือ AT
1 4 1
0 3 6
0 0 2
1 0 0
4 3 0
1 6 2
A = At =
16
• การ Transpose Matrix ในโปรแกรม Scilab สามารถทําไดโ้ดยระบุเครื�องหมาย ‘ หรอื .’ ตามหลงัเมทรกิซท์ี�ตอ้งการสลบัเปลี�ยน
• .‘ คอืการ Transpose แบบธรรมดา ซึ�งผลลพัธท์ี�ไดจ้ะมเีฉพาะเมทรกิซท์ี�ถูกสลบัเปลี�ยนแลว้เท่านั 8น
• ‘ คอืการ Transpose แบบสงัยุค (Conjugate Transpose) ผลลพัธท์ี�ไดน้อกจากจะมเีมทรกิซท์ี�ถูกสลบัเปลี�ยนแลว้ ยงัมสีงัยุคของเลขจํานวนเชงิซอ้นดว้ย
• ตวัอย่าง1 จงหาเมทรกิซส์ลบัเปลี�ยนของเมทรกิซ์
• ตวัอย่าง2 จงหาเมทรกิซส์ลบัเปลี�ยนของเมทรกิซ์
1 4 1
0 3 6
0 0 2
1 + 2 −1
3
2 − −1
17
• ตวัอย่าง1 จงหาเมทรกิซส์ลบัเปลี�ยนของเมทรกิซ์
• ตวัอย่าง2 จงหาเมทรกิซส์ลบัเปลี�ยนของเมทรกิซ์
1 4 1
0 3 6
0 0 2
1 + 2 −1
3
2 − −1
18
29/01/2012
7
สมบติัของเมทริกซ์
• สมบติัการบวก (Properties of Addition)
• A+B = B+A
• A+(B+C) = (A+B)+C
• A + 0 = A
• A + (-A) = 0
• ให ้A,B และ C เป็นเมทรกิซใ์ดๆ ที�มขีนาด m x n
• ** เมทริกซจ์ะบวกกนัได้จะต้องมีขนาดเท่ากนั **
19
• สมบติัการคณู (Properties of Matrix Multiplication)
• A(BC) = (AB)C
• A(B+C) = AB + AC
• (A+B)C = AC + BC
• IA = A
• ให ้A,B และ C เป็นเมทรกิซใ์ดๆ ที�มขีนาด m x n
• ให ้I เป็นเมทรกิซเ์อกลกัษณ์
• การคณูเมทริกซจ์ะทาํได้กต่็อเมื "อ คอลมัน์ของเมทริกซต์วัตั $งจะต้องเท่ากบัแถวของเมทริกซต์วัคณู
20
• สมบติัการคณูด้วยสเกลาร ์(Properties of Scalar Multiplication)
• k(cA) = (kc)A
• (k+c)A = kA + cA
• k(A+B) = kA + kB
• A(kB) = k(AB) = (kA)B
• ให ้A,B เป็นเมทรกิซใ์ดๆ ที�มขีนาด m x n
• ให ้k และ c เป็นจํานวนจรงิใดๆ
21
29/01/2012
8
• สมบติัการสลบัเปลี�ยน (Properties of the Transpose of a Matrix)
• (AT)T = A
• (A+B)T = AT + BT
• (AB)T = BTAT
• (kA)T = kAT
• ให ้A,B เป็นเมทรกิซใ์ดๆ ที�มขีนาด m x n
• ให ้k เป็นจํานวนจรงิใดๆ
22
• กําหนดเมทรกิซ์ A, B และ C ดงันี8
• จงหา....• 1.) A+B, B+A• 2.) A+(B+C), (A+B)+C• 3.) A + 0 • 4.) A + (-A)• 5.) 2(3A), (2*3)A• 6.) (4+1)A, 4A + A• 7.) 3(A+B), 3A + 3B• 8.) A(2B), 2(AB), (2A)B
2 1 −1
0 4 3
1 0 1
1 1 −1
0 4 2
1 0 1
2 4 −1
2 4 −3
0 2 −1A= B= C=
23
• 9.) (AT)T
• 10.) (A+B)T, AT + BT
• 11.) (AB)T, BTAT
• 12.) (4A)T, 4AT
24
29/01/2012
9
ข้อ 1
25
ข้อ 2
ข้อ 3
ข้อ 4
26
ข้อ 5
ข้อ 6
ข้อ 7
ข้อ 8
27
29/01/2012
10
ข้อ 9
ข้อ 10
ข้อ 11
ข้อ 12
28
• กําหนดเมทรกิซ ์A, B, C, D และ E ดงันี8
• จงหา....
• 1.) A(BC), (AB)C
• 2.) A(B+C), AB + AC
• 3.) (A+B)C, AC + BC
• 4.) EA
• 5.) AD + BD + CD
1 1 −1
0 5 2
1 7 1
0 4 −1
−2 4 4
−1 1 0
0 0 −1
4 1 1
2 2 −1A= B= C=
1
2
3
1 0 0
0 1 0
0 0 1
D= E=
29
ข้อ 1
ข้อ 2
ข้อ 3
ข้อ 4
30
29/01/2012
11
ข้อ 5
31
ตวักาํหนด (Determinant)
• ดีเทอรมิ์แนนต์ คอื ฟงักช์นัจากเซตของเมทรกิซจ์ตุรสัที�ทุกสมาชกิเป็นจํานวนจรงิไปยงัเซตของจํานวนจรอง กําหนดค่าดงันี8
• เมทรกิซ ์A = เป็นเมทรกิซ ์2x2 มติ ิตวักําหนดของเมทรกิซน์ึ8 คอื ad – bc
• กรณทีี�เมทรกิซม์มีติ ิnxn โดยที� n>3 แลว้ ตวักําหนดของเมทรกิซจ์ะมีค่าเท่ากบัผลบวกของผลคุณระหวา่งสมาชกิในแถวใดแถวหนึ�ง (หลกัใดหลกัหนึ�ง) กบัตวัประกอบรว่มเกี�ยวของสมาชกินั 8น
• สญัลกัษณ์ของตวักําหนดของเมทรกิซ ์A คอื det A หรอื |A|
� �
� �
32
• เราจะใชค้ําส ั �ง det() ในการหาค่าตวักําหนดของเมทรกิซ์
• ตวัอย่าง: จงหา Determinant ของเมทรกิซต่์อไปนี8
1 1 �1
0 5 2
1 7 1
0 4 �1
�2 4 4
�1 1 0
0 0 �1
4 1 1
2 2 �1
A= B= C=
33
29/01/2012
12
การใช้เมทริกซแ์ก้ระบบสมการเชิงเส้น
• a11X1 + a12X2 +…+a1nXn = b1
• a21X1 + a22X2 +…+a2nXn = b2
• .
• .
• .
• anm1X1 + anm2X2+…+anmXn = bm
• ระบบสมการนี8ม ีn ตวัแปร m สมการ
34
• AX = B
• A คอื เมทรกิซส์มัประสทิธิ q
• X คอื เมทรกิซต์วัแปร
• B คอื เมทรกิซผ์ลคูณ
• ตวัอย่าง: จงแกร้ะบบสมการต่อไปนี8
• 2x1 + 4x2 + 6x3 = 18
• 4x1 + 5x2 + 6x3 = 24
• 3x1 + x2 – 2x3 = 4
35
• จากโจทย ์เราสามารถแปลงใหอ้ยู่ในรูปของเมทรกิซ ์AX = B ไดด้งันี8
• นั �นคอื หากเราตอ้งการหาค่าของเมทรกิตต์วัแปร (X) เราจะสามารถหาไดจ้าก ซึ�งกค็อื invert การคูณของเมทรกิซส์มัประสทิธ ์(A)คูณกบัเมทรกิซผ์ลคูณ (B) นั �นเอง
• โดยการหาค่า invert การคูณของเมทรกิซ ์สามารถใชค้ําส ั �ง inv() ได้
2 4 6
4 5 6
3 1 �2
�1
�2
�3
=18
24
4
1
����
คาํตอบที�ได้ของระบบสมการนี_ คือX1 = 4X2 = -2X3 = 3
36
29/01/2012
13
• นําคําตอบที�ได้ไปแทนลงในสมการเพื�อตรวจสอบความถกูต้อง จะได้ว่า
• 2(4) + 4(-2) + 6(3) = 18 <- เป็นจรงิ
• 4(4) + 5(-2) + 6(3) = 24 <- เป็นจรงิ
• 3(4) + (-2) – 2(3) = 4 <- เป็นจรงิ
37