การหาคำตอบระบบสมการเชิงอนุพันธ์สามัญ
ปัญหาเงื่อนไขค่าเริ่มต้น
(Ordinary
differential equation : Initial value problem หรือที่ย่อว่า
ODE-IVP)
นั้น
มันเริ่มจากการที่เราทราบค่า
x
และ
y
ณ
จุดหนึ่ง แล้วเราต้องการทราบว่าที่ตำแหน่ง
x
+Δx
ค่า
y
ณ
ตำแหน่งนั้น (คือ
y
+Δy)
จะมีค่าเท่าใด
โดยหลักการของวิธีการที่ใช้กันอยู่ก็คือ
มันเปรียบเสมือนกับว่าเราจะลากเส้นตรงออกจากจุด
(x,y)
ด้วยความชันเท่าไรไปจนถึงตำแหน่ง
x
+Δx
เพื่อที่จะได้ทราบค่า
y
ความแตกต่างของระเบียบวิธีต่าง
ๆ อยู่ตรงการคำนวณหาค่าความชันนี้
บางเทคนิคก็ใช้ความชัน ณ
ตำแหน่ง x
เป็นหลัก
(วิธีการพวกโดยชัดแจ้งหรือ
explicit
method) บางเทคนิคก็ใช้ความชัน
ณ ตำแหน่ง x
+Δx
เป็นหลัก
(วิธีการพวกโดยนัยหรือ
implicit
method) บางเทคนิคก็ใช้ความชัด
ณ ทั้งตำแหน่ง x
และ
x
+Δx
(วิธีการพวก
semi-implicit
method) บางเทคนิคก็ใช้ข้อมูล
ณ จุดใดจุดหนึ่งเพียงจุดเดียวเป็นหลัก
(วิธีการพวก
single
step method) ในขณะที่บางเทคนิคก็มีการใช้จุดข้อมูลหลายจุด
(เป็นได้ทั้งจุดข้อมูลในอดีตและจุดที่ต้องการทราบคำตอบ)
มาใช้ในการคำนวณ
(วิธีการพวก
multi-step
method) และก็ยังมีวิธีการที่ใช้การทำนายค่าแล้วทำการปรับแก้ตาม
(วิธีการพวก
predictor-corrector
method) ส่วนที่ว่าวิธีการไหนจะอยู่ในกลุ่มไหนนั้น
ขึ้นอยู่กับว่าเรากำลังพิจารณาเรื่องอะไรอยู่
ระเบียบวิธี
Implicit
Euler (หรือออยเลอร์โดยนัย
จัดอยู่ในพวก implicit
method) และระเบียบวิธี
Crank-Nicholson
(ที่จัดอยู่ในพวก
semi-implicit
method) นั้น
ไม่พบการใช้งานมากเหมือนระเบียบวิธี
Runge-Kutta
ทั้งนี้เป็นเพราะสำหรับปัญหาส่วนใหญ่แล้ว
ที่ระดับความถูกต้องของคำตอบเท่ากัน
(คือเปรียบเทียบที่เมื่อต้องการความถูกต้องที่ระดับเลขนัยสำคัญเท่ากัน)
ระเบียบวิธี
Runge-Kutta
จะใช้ค่า
step
size ที่กว้างกว่า
ทำให้ทำการคำนวณไปข้างหน้าได้รวดเร็วกว่า
และยังไม่มีปัญหาในกรณีที่สมการอนุพันธ์นั้นเป็นฟังก์ชันไม่เชิงเส้น
(non-linear
fuction) กับตัวแปร
y
ด้วย
(คือไม่ต้องทำการ
root
finding เพื่อหาค่า
y)
แต่ถ้าเป็นกรณีของโจทย์ที่ค่อนข้างจะ
"ไว"
(หรือ
sensitive)
ต่อการสะสมของค่าความคลาดเคลื่อน
(error)
ที่เกิดขึ้นในระหว่างการคำนวณแต่ละขั้นแล้ว
(เช่นระบบสมการพวก
stiff
หรือ
very
stiff หรือระบบสมการผสมอนุพันธ์-พีชคณิตที่เรียกว่า
Differential-Algebraic
equation - DAE) ระเบียบวิธี
Runge-Kutta
(หรือพวก
multi
step แบบ
Adam-Bashforth)
ก็มีสิทธิ์พังไม่เป็นท่าได้ง่าย
ๆ เพราะไม่สามารถควบคุมการสะสมของค่าความคลาดเคลื่อนเอาไว้ได้
ในกรณีเช่นนี้ระเบียบวิธีพวก
semi-implicit
และ
fully
implicit จะเข้ามามีบทบาททันที
เพราะพวกมันมีความสามารถในการควบคุมค่าความคลาดเคลื่อนไม่ให้สะสมจนขยายตัวได้ดีกว่า
ดาวน์โหลดบทความฉบับ pdf ได้ที่นี่
ดาวน์โหลดบทความฉบับ pdf ได้ที่นี่
ไม่มีความคิดเห็น:
แสดงความคิดเห็น