ผมมักจะตั้งคำถามนิสิตที่ทำวิจัยโดยมีการสร้างแบบจำลองทางคณิตศาสตร์เสมอว่า
วัตถุประสงค์ของการสร้างแบบจำลองนั้นคืออะไร
เพราะมันใช้เกณฑ์ในการพิจารณาความเหมาะสมที่แตกต่างกัน
ในกรณีของแบบจำลองที่นำไปใช้เพื่อการออกแบบหรือจำลองกระบวนการจริงเพื่อการศึกษานั้น
จะให้ความสำคัญไปที่ความถูกต้องของคำตอบที่ได้
แต่ถ้าวัตถุประสงค์เป็นเพื่อการควบคุมกระบวนการในเวลาจริง
จะให้ความสำคัญไปที่ความเร็วในการคำนวณ
กล่าวคืออย่างน้อยจะต้องได้คำตอบโดยประมาณว่ากำลังจะเกิดอะไรขึ้น
โดยต้องมีเวลาเหลือพอสำหรับให้ระบบควบคุมทำการปรับแก้
ในการแก้ปัญหาระบบสมการอนุพันธ์สามัญ
ปัญหาเงื่อนไขค่าเริ่มต้นนั้น
คงปฏิเสธไม่ได้ว่าระเบียบวิธีหลักที่ใช้กันส่วนใหญ่ในการแก้ปัญหาคือระเบียบวิธีในกลุ่มรุงเก-คุตตาอันดับ
๔ (4th
order Runge-Kutta) ที่พัฒนาโดยใช้ระเบียบวิธีนี้เป็นพื้นฐาน
ด้วยเหตุผลหลายประการได้แก่
การที่มันเป็นระเบียบวิธีที่สามารถเริ่มต้นการคำนวณด้วยตนเองได้
(เป็น
single
step method) เป็นระเบียบวิธีโดยแจ้ง
(เป็น
explicit
method) ทำให้ไม่มีปัญหากับสมการที่ไม่เป็นเชิงเส้น
(non-linear)
ให้ความถูกต้องของคำตอบสูง
และมีค่า step
size ของการอินทิเกรตที่ค่อนข้างกว้าง
แต่ในกรณีที่ต้องการความรวดเร็วสูงในการคำนวณโดยความถูกต้องของคำตอบเป็นรอง
ระเบียบวิธีในกลุ่มนี้ก็ไม่ใช่ตัวเลือกที่ดีนัก
หรือในกรณีของสมการที่มีปัญหาเรื่อง
stiffness
หรือไวสูงต่อการสะสมค่าความคลาดเคลื่อนในการคำนวณ
ก็อาจจะใช้การไม่ได้เลย
ด้วยเหตุนี้แม้แต่ในโปรแกรมสำเร็จรูปเช่น
MATLAB
ที่นิยมใช้กันอยู่ในขณะนี้
ก็ยังมีระเบียบวิธีสำหรับการแก้ปัญหาระบบสมการอนุพันธ์สามัญ
ปัญหาเงื่อนไขค่าเริ่มต้น
ให้เลือกเกือบสิบระเบียบวิธี
โดย ODE45
ที่ใช้ระเบียบวิธีที่พัฒนาโดยอิงจากรุงเก-คุตตาอันดับ
๔ เป็นฐาน ก็เป็นเพียงแค่ตัวเลือกหนึ่งเท่านั้นเอง
วันนี้จะลองกลับมาพิจารณาตัวอย่างที่เคยยกมาใน
Memoir
ฉบับวันพุธที่
๑๕ สิงหาคมและวันอาทิตย์ที่
๑๙ สิงหาคมที่ผ่านมา
โดยจะทดลองใช้ระเบียบวิธีอื่นในการแก้ปัญหาดูบ้าง
ไม่มีความคิดเห็น:
แสดงความคิดเห็น