ทุกๆวันนี้มีการคำนวณมากมายทำให้เราปวดหัว และ ไม่มั่นใจว่าทำถูกต้องหรือป่าว เพราะด้วยความซับซ้อนของโจทย์แล้วตัวเลขที่มากมายทำให้เราสับสน วันนี้ขอนำเสนอโปรแกรม พร้อมตัวอย่างโจทย์ที่ช่วยให้เราคำนวณง่ายขึ้น และ เร็วมากขึ้น นั้นคือ Scilab
Scilab เป็นโปรแกรมที่ใช้คำนวณเชิงตัวเลข และ กราฟฟิกที่ซับซ้อน เหมือนกับ MATLAB แต่ Scilab เป็นโปรแกรมฟรี ซึ่งทำให้หลายหน่วยงานนิยมใช้ในการคำนวณต่างๆและช่วยในเรื่องการเรียนการสอน
ข้อดี
- ง่ายต่อการเรียนรู้และทำความเข้าใจ
- ขั้นตอนการเขียนโปรแกรมไม่ยุ่งยาก
- สามารถประมวลผลข้อมูลที่อยู่ในรูปเชิงสัญลักษณ์ (Symbolic) และข้อมูลที่อยู่ในรูปของเมทริกซ์ (Matrix) ได้อย่างรวดเร็วและมีประสิทธิภาพ
- มีฟังก์ชัน (Function) สำหรับการคำนวณทางคณิตศาสตร์จำนวนมากพร้อมใช้งาน
- มีกล่องเครื่องมือ (Toolbox) จำนวนมากที่ประกอบด้วยฟังก์ชันต่างๆ ที่จำเป็นสำหรับการแก้ไขปัญหาทางด้านวิศวกรรม,
วิทยาศาสตร์ และอื่นๆ - สามารถพัฒนาฟังก์ชันใหม่ๆ ขึ้นมาใช้งานร่วมกับโปรแกรม SCILAB ได้
- สามารถใช้งานร่วมกันกับโปรแกรมภาษาฟอร์แทรน (FORTRAN), ภาษาซี (C) และภาษา MATLAB ได้
- สามารถสร้างโปรแกรมสำเร็จรูปสำหรับทำซิมมูเลชันระบบ (System simulation) ได้
- สามารถนำไปพัฒนาต่อยอดได้เนื่องจากมีซ๊อสโค้ด (Source code), คู่มือการใช้งาน (Manual) และ On-line help ให้
- (สามารถดาวน์โหลดข้อมูลเหล่านี้ได้จากเว็บไซต์ http://www.scilab.org)
มาลองทำโจทย์ใน Scilab ดูกันนะครับ สมมติโจทย์เรื่อง เมทริกซ์
โจทย์กำหนดให้
1.a+b
2.a+c
3.2*a
4.2*a+3*b
5.c*d
ให้เราทำการกำหนดตัวแปรตามโจทย์ โดยพิมพ์
a = [1 2 3;4 5 6; 7 8 9;] ,b = [2 4 8;10 12 14;0 2 4;],
c = [1 2;3 4;5 6],d = [1 3;5 7]
โปรแกรมจะทำการเก็บค่าตัวแปรไว้
แล้วมาหาคำตอบกันเลย
โดยพิมพ์สมการลงไป
1.)a+b
2.)a+c
จะเห็นว่าข้อ 2 error เพราะ มิติ a กับ c ไม่เท่ากัน
3.) 2*a
5.) c*d
เรามาลองคำนวณด้วยมือกันดีกว่าจากโจทย์เดิมที่ให้มา
หลังจากเห็นวิธีทำทั้งสองวิธีแล้ว จะเห็นว่าใช้โปรแกรม Scilab สามารถหาคำตอบได้อย่างง่ายดายมากเลยเพียงแค่เรามีค่าที่เราป้อนตัวแปรเริ่มต้นเข้าไปแล้วหาผลลัพธ์ออกมาจากโจทย์ที่ให้ไว้ โปรแกรม Scilab ยังมีวิธีคำนวณอีกหลายแบบหลายอย่าง ไม่ว่าจะเป็นการ plot กราฟ ,หาเลข integrate ,หา log ลองเอาไปปรับใช้ไปใช้และลองไปเล่นดูนะครับ #ลองดูนะครับ
ขอขอบคุณ ข้อมูลอ้างอิงจากเว็บ
http://www.scilab.org
http://home.npru.ac.th/piya/webscilab/s0.php