เอาจริงๆ แล้วตั้งแต่เรียนวิชาคณิตศาสตร์มาในสมัย ม.ปลาย ส่วนตัวผมก็แทบไม่เคยได้ใช้เจ้า Matrix เลย และตอนเรียนสมัยเด็กๆ ก็ไม่รู้ด้วยว่าเรียนไปทำไม… (แต่ถ้าเป็นหนัง Matrix นี่ชอบมาก หนังในดวงใจผมเลย 55)
พอโตมาถึงเพิ่งรู้ว่ามันมีประโยชน์หลากหลายมากๆ และใช้ในหลายๆ สาขา เช่น การ Transform รูปภาพต่างๆ ในวงการ Graphic Design ก็ใช้ Matrix คำนวณทั้งนั้น อีกทั้งการทำพวก AI หรือ Machine Learning ก็ใช้ความรู้ Matrix ด้วยเช่นกัน
แล้วใน Excel ล่ะ? เราจะใช้ Matrix มาทำอะไรได้บ้าง ในบทความนี้จะใช้ Matrix แก้สมการเส้นตรงหลายตัวแปรซึ่งเป็นเรื่องการคำนวณที่ตรงไปตรงมามากที่สุดอันนึงของการใช้ Matrix เลยล่ะ
ใช้ Matrix แก้สมการเส้นตรงหลายตัวแปร
สมมติมีโจทย์เป็นสมการเส้นตรง 3 ตัวแปรว่า
- 2x + 4y − 3z = 20
- x + y + z = 10
- 3y+2z = 19
ให้หาว่าค่า x, y, z คือเท่าไหร่?
การจะเข้าใจเรื่องนี้ได้ถ่องแท้ เดี๋ยวผมทบทวนความรู้เรื่องการคูณ Matrix ให้เล็กน้อย
การคูณ Matrix
มันคือเอาข้อมูลแนวนอนจาก Matrix ตัวแรก มาคูณกับข้อมูลแนวตั้งของ Matrix ตัวที่สองแล้วหาผลรวม ทำแบบนี้ทีละพิกัดจนครบทุกแถวของ Matrix ตัวแรก และครบทุกคอลัมน์ของ Matrix ตัวที่สอง ทำให้สรุปได้ 2 ประเด็นสำคัญว่า
- จำนวนคอลัมน์ของ Matrix แรก ต้องเท่ากับจำนวนแถวของ Matrix อันที่สอง (เพราะต้องจับคู่คูณกัน)
- Matrix ผลลัพธ์จะมีขนาดเท่ากับ จำนวนแถวของ Matrix แรก และมีจำนวนคอลัมน์เท่ากับ Matrix สอง
แต่โชคดีที่ใน Excel เรามีฟังก์ชันที่ใช้ได้เลย คือ MMULT ซึ่งย่อมาจาก Matrix Multiplication (คูณ Matrix)
=MMULT(Matrix A, Matrix B) =MMULT(B11:D12,G3:H5)
** หากเป็น Excel Version เก่าที่ไม่รองรับ Dynamic Array จะต้องลากคลุม 4 ช่องก่อนใส่สูตร แล้วต้องกดเรียกใช้สูตรด้วยคำสั่ง Control+Shift+Enter แทนการกด Enter ธรรมดาด้วย

เอามาประยุกต์ใช้
จากสมการข้างบน และความรู้จากวิธีการคูณ Matrix เราสามารถมองได้แบบนี้

นั่นคือ ถ้าหากว่า Matrix A คูณ Matrix X ได้ Matrix B…
หากเราต้องการหาว่า Matrix X มีค่าเท่าไหร่? มันก็คือ A Inverse คูณกับ B นั่นเอง (สลับกันไม่ได้นะ เพราะ Matrix ไม่มีคุณสมบัติการสลับที่ของการคูณ)
ถ้าเป็นคณิตศาสตร์ที่ต้องคำนวณเองก็จะยากหน่อย แต่ถ้าเป็น Excel ก็ง่ายเลย!! เราสามารถหาค่าของ Matrix X ได้แบบนี้
- การคูณ Matrix จะใช้ MMULT
- Inverse ของ Matrix A จะใช้ MINVERSE ซึ่งย่อมาจาก Matrix Inverse =MINVERSE(A8:C10)
- สรุปแล้วรวมเป็น
=MMULT(MINVERSE(A8:C10),G8:G10)
** หากเป็น Excel Version เก่าที่ไม่รองรับ Dynamic Array จะต้องลากคลุม 3 ช่องก่อนใส่สูตร แล้วต้องกดเรียกใช้สูตรด้วยคำสั่ง Control+Shift+Enter แทนการกด Enter ธรรมดาด้วย

ซึ่งผลลัพธ์จะออกมาเป็น 3 ค่า ซึ่งก็คือค่าของ x, y, z ตามลำดับ
Tips : หากไม่ชอบผลลัพธ์ในแนวตั้ง ก็สามารถเอา TRANSPOSE ครอบไปให้เป็นแนวนอนก็ได้ แต่ผมว่าแนวตั้งก็ ok อยู่นะ
และนี่คือตัวอย่างการใช้ Matrix แบบตรงไปตรงมามากๆ โดยใช้ในการแก้สมการเส้นตรงหลายตัวแปร แต่เดี๋ยวในบทความต่อไปจะให้ดูตัวอย่างการพลิกแพลงเอา MMULT มาทำอะไรแปลกๆ ให้ดูครับ
Leave a Reply