13
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

เมทริกซ์และระบบสมการเชิงเส้นด้วย Scilab

Embed Size (px)

DESCRIPTION

เอกสารประกอบการบรรยายเรื่องการใช้โปรแกรม Scilab ในการแก้ปัญหาเรื่องเมทริกซ์และระบบสมการเชิงเส้น

Citation preview

Page 1: เมทริกซ์และระบบสมการเชิงเส้นด้วย Scilab

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

Page 2: เมทริกซ์และระบบสมการเชิงเส้นด้วย Scilab

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

Page 3: เมทริกซ์และระบบสมการเชิงเส้นด้วย Scilab

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

Page 4: เมทริกซ์และระบบสมการเชิงเส้นด้วย Scilab

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

Page 5: เมทริกซ์และระบบสมการเชิงเส้นด้วย Scilab

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

Page 6: เมทริกซ์และระบบสมการเชิงเส้นด้วย Scilab

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

Page 7: เมทริกซ์และระบบสมการเชิงเส้นด้วย Scilab

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

Page 8: เมทริกซ์และระบบสมการเชิงเส้นด้วย Scilab

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

Page 9: เมทริกซ์และระบบสมการเชิงเส้นด้วย Scilab

29/01/2012

9

ข้อ 1

25

ข้อ 2

ข้อ 3

ข้อ 4

26

ข้อ 5

ข้อ 6

ข้อ 7

ข้อ 8

27

Page 10: เมทริกซ์และระบบสมการเชิงเส้นด้วย Scilab

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

Page 11: เมทริกซ์และระบบสมการเชิงเส้นด้วย Scilab

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

Page 12: เมทริกซ์และระบบสมการเชิงเส้นด้วย Scilab

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

Page 13: เมทริกซ์และระบบสมการเชิงเส้นด้วย Scilab

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