วิธีเชิงตัวเลขคืออัลกอริทึมสำหรับหาคำตอบประมาณ Newton-Raphson ใช้หารากของสมการ เช่น ส่วน Euler และ Runge-Kutta ใช้ประมาณคำตอบของสมการเชิงอนุพันธ์
ถ้าต้องการแยกความต่างแบบสั้นที่สุด ก็คือ Newton-Raphson ใช้อัปเดตค่าคาดเดาของ ส่วน Euler และ Runge-Kutta ใช้ก้าวคำตอบไปข้างหน้าตามเวลา การที่วิธีเหล่านี้ทำงานได้ดีหรือไม่ขึ้นอยู่กับเงื่อนไข เช่น ค่าเริ่มต้นที่สมเหตุสมผล อนุพันธ์ที่ใช้งานได้ หรือขนาดก้าว ที่เล็กพอสำหรับปัญหานั้น
วิธีเชิงตัวเลขแต่ละแบบใช้ทำอะไร
Newton-Raphson: หารากของสมการ
ถ้าคุณต้องการหาค่า ที่ทำให้ วิธี Newton-Raphson จะอัปเดตค่าคาดเดาโดยอาศัยเส้นสัมผัส:
แนวคิดนั้นตรงไปตรงมา: ถ้ากราฟเรียบใกล้ราก เส้นสัมผัสจะเป็นแบบจำลองเชิงเส้นเฉพาะที่ และจุดตัดแกนของมันอาจเป็นค่าคาดเดาที่ดีกว่าจุดปัจจุบัน
วิธีนี้มักทำงานได้ดีเมื่อ หาอนุพันธ์ได้, และค่าคาดเดาเริ่มต้นอยู่ใกล้รากเดี่ยวอยู่แล้ว ถ้าเงื่อนไขเหล่านี้ไม่เป็นจริง วิธีอาจหยุดนิ่ง กระโดดออกห่างจากราก หรือไม่ลู่เข้า
ตัวอย่างเช่น เมื่อ และ
และเมื่อทำอีกหนึ่งก้าวจะได้ประมาณ ซึ่งใกล้กับ แล้ว
วิธี Euler: หนึ่งความชัน หนึ่งก้าว
สำหรับปัญหาค่าเริ่มต้น
วิธี Euler ใช้ความชันปัจจุบันเพื่อก้าวไปข้างหน้า:
นี่คือการประมาณที่ง่ายที่สุด: ก้าวไปข้างหน้าด้วยขนาดก้าว โดยใช้ความชันที่รู้ในตอนนี้ จึงทำให้ Euler เรียนรู้และนำไปใช้ได้ง่าย แต่ความคลาดเคลื่อนอาจเพิ่มขึ้นเร็วถ้า ใหญ่เกินไปหรือคำตอบเปลี่ยนแปลงเร็ว
วิธี Runge-Kutta: ตรวจความชันหลายครั้งในหนึ่งก้าว
วิธี Runge-Kutta ปรับปรุงจาก Euler โดยเก็บข้อมูลความชันมากกว่าหนึ่งครั้งภายในก้าวเดียว ในวิชาเบื้องต้น คำว่า "Runge-Kutta" มักหมายถึงวิธีอันดับสี่แบบคลาสสิก หรือ RK4:
RK4 ใช้ค่าเฉลี่ยถ่วงน้ำหนักของค่าประมาณความชันหลายค่า จึงมักติดตามเส้นโค้งได้ดีกว่า Euler มากเมื่อใช้ขนาดก้าวเท่ากัน
ตัวอย่างคำนวณ: Euler เทียบกับ Runge-Kutta บน ODE เดียวกัน
พิจารณา
และใช้หนึ่งก้าวที่มีขนาด เพื่อประมาณ
ก้าวของ Euler
ที่ ค่าปัจจุบันคือ ดังนั้นความชันคือ
Euler ให้ว่า
ก้าวของ RK4
ตอนนี้ใช้ปัญหาเดิมกับ RK4:
ดังนั้น
สำหรับสมการนี้ ค่าที่แน่นอนคือ ดังนั้นก้าวของ RK4 จึงใกล้กว่าก้าวของ Euler มาก
นี่คือบทเรียนสำคัญ Euler ใช้ความชันเฉพาะที่ปลายซ้ายของช่วงเท่านั้น ส่วน RK4 เก็บตัวอย่างว่าความชันเปลี่ยนอย่างไรระหว่างก้าว จึงมักให้ภาพเฉพาะที่ที่ดีกว่า
ควรใช้ Newton-Raphson, Euler หรือ Runge-Kutta เมื่อไร
ใช้ Newton-Raphson เมื่องานคือการแก้สมการไม่เชิงเส้น และคุณสามารถคำนวณหรือประมาณอนุพันธ์ได้ ใช้ Euler เมื่อต้องการเข้าใจแนวคิดพื้นฐานของการก้าวผ่าน ODE หรืออยากได้ค่ามาตรฐานเบื้องต้นอย่างรวดเร็ว
ใช้ Runge-Kutta โดยเฉพาะ RK4 เมื่อต้องการเพิ่มความแม่นยำในทางปฏิบัติโดยไม่ต้องเปลี่ยนรูปแบบของปัญหา อย่างไรก็ตาม ถ้า ODE เป็นสมการแข็ง ทั้ง Euler และ RK4 แบบคลาสสิกก็อาจไม่ใช่ตัวเลือกที่ดีเสมอไป วิธีที่ใช้ต้องเหมาะกับสมการนั้น
ข้อผิดพลาดที่พบบ่อยในวิธีเชิงตัวเลข
สับสนประเภทของปัญหา
Newton-Raphson ใช้สำหรับหารากของสมการ ส่วน Euler และ Runge-Kutta ใช้สำหรับสมการเชิงอนุพันธ์ ถ้าเลือกตระกูลวิธีผิด การตั้งโจทย์ก็ผิดตั้งแต่ก่อนเริ่มคำนวณ
คิดว่าวิธีจะลู่เข้าเสมอ
Newton-Raphson อาจล้มเหลวได้ถ้าค่าเริ่มต้นไม่ดี หรือถ้า มีค่าน้อยมากใกล้จุดวนซ้ำ ส่วนวิธี Euler และ RK อาจให้พฤติกรรมไม่ดีถ้าขนาดก้าวใหญ่เกินไปสำหรับปัญหานั้น
มองว่าขนาดก้าวเป็นรายละเอียดเล็กน้อย
สำหรับวิธีแก้ ODE ขนาดก้าว เป็นส่วนหนึ่งของวิธี ไม่ใช่สิ่งที่ค่อยคิดทีหลัง โดยทั่วไป ที่เล็กลงมักช่วยเพิ่มความแม่นยำ แต่ก็เพิ่มต้นทุนด้วย และสำหรับบางปัญหาที่ยาก คุณอาจต้องใช้วิธีที่ออกแบบมาสำหรับสมการแข็ง แทนที่จะเพียงลดขนาดก้าว
ลืมไปว่าคำตอบเป็นเพียงค่าประมาณ
ผลลัพธ์เชิงตัวเลขที่มีหลายหลักไม่ได้แปลว่าน่าเชื่อถือมากขึ้นโดยอัตโนมัติ คำถามที่สำคัญกว่าคือ ค่าประมาณนั้นมีเสถียรภาพ กำลังลู่เข้า และแม่นยำพอสำหรับจุดประสงค์หรือไม่
วิธีเชิงตัวเลขถูกใช้ที่ไหนบ้าง
วิธีเชิงตัวเลขปรากฏขึ้นทุกครั้งที่แบบจำลองชัดเจน แต่คำตอบเชิงสัญลักษณ์ที่แน่นอนนั้นไม่สะดวกหรือไม่มีให้ใช้ ซึ่งรวมถึงฟิสิกส์ วิศวกรรม การหาค่าเหมาะที่สุด การเงิน และการคำนวณเชิงวิทยาศาสตร์
รูปแบบที่พบร่วมกันเป็นเรื่องเชิงปฏิบัติมากกว่าทฤษฎี: คุณต้องการคำตอบที่แม่นยำพอสำหรับการตัดสินใจที่ต้องทำ นั่นจึงเป็นเหตุผลว่าทำไมการตรวจสอบการลู่เข้า ผลของขนาดก้าว หรือความไวต่อค่าเริ่มต้น จึงสำคัญพอ ๆ กับการเขียนสูตร
ลองทำโจทย์ที่คล้ายกัน
ลองใช้ตัวอย่าง ODE เดิมแต่เปลี่ยนเป็น แทน แล้วเปรียบเทียบคำตอบของ Euler กับ RK4 อีกครั้ง จากนั้นลองใช้ Newton-Raphson กับ โดยเริ่มจาก แล้วดูว่าค่าที่วนซ้ำเข้าใกล้ เร็วแค่ไหน
ต้องการความช่วยเหลือในการแก้โจทย์?
อัปโหลดคำถามของคุณแล้วรับคำตอบแบบทีละขั้นตอนที่ผ่านการตรวจสอบในไม่กี่วินาที
เปิด GPAI Solver →