วิธีรันเก-คุตตะความลาดชันที่ใช้โดยวิธี Runge-Kutta แบบคลาสสิก (RK4) วิธีการรันเก-กุตตะ (Runge–Kutta) ที่เป็นที่รู้จักกันอย่างแพร่หลายที่สุด มักเรียกกันว่า "RK4" "วิธีการรันเก-กุตตะแบบคลาสสิก" หรือเรียกง่ายๆ ว่า "วิธีการรันเก-กุตตะ"
ให้กำหนดปัญหาค่าเริ่มต้น ดังต่อไปนี้:
ง y ง ที = เอฟ ( ที , y ) , y ( ที 0 ) = y 0 . {\displaystyle {\frac {dy}{dt}}=f(t,y),\quad y(t_{0})=y_{0}.} ที่นี่y {\displaystyle y} เป็นฟังก์ชันที่ไม่ทราบค่า (สเกลาร์หรือเวกเตอร์) ของเวลาที {\displaystyle t} ซึ่งเราต้องการประมาณค่า เราได้รับแจ้งว่าง y ง ที {\displaystyle {\frac {dy}{dt}}} อัตราที่y {\displaystyle y} การเปลี่ยนแปลง เป็นฟังก์ชันของที {\displaystyle t} และของy {\displaystyle y} ตัวมันเอง ในเวลาเริ่มต้นที 0 {\displaystyle t_{0}} ที่สอดคล้องกันy {\displaystyle y} ค่าคือy 0 {\displaystyle y_{0}} ฟังก์ชันเอฟ {\displaystyle f} และเงื่อนไขเริ่มต้น ที 0 {\displaystyle t_{0}} , y 0 {\displaystyle y_{0}} ได้รับแล้ว
ต่อไปเราจะเลือกขนาดขั้นตอนh > 0 และกำหนดดังนี้:
y n + 1 = y n + ชม. 6 ( เค 1 + 2 เค 2 + 2 เค 3 + เค 4 ) , ที n + 1 = ที n + ชม. {\displaystyle {\begin{aligned}y_{n+1}&=y_{n}+{\frac {h}{6}}\left(k_{1}+2k_{2}+2k_{3}+k_{4}\right),\\t_{n+1}&=t_{n}+h\\\end{aligned}}} สำหรับn = 0, 1, 2, 3, ... โดยใช้[ 3 ]
เค 1 = เอฟ ( ที n , y n ) , เค 2 = เอฟ ( ที n + ชม. 2 , y n + เค 1 ชม. 2 ) , เค 3 = เอฟ ( ที n + ชม. 2 , y n + เค 2 ชม. 2 ) , เค 4 = เอฟ ( ที n + ชม. , y n + ชม. เค 3 ) . {\displaystyle {\begin{aligned}k_{1}&=\ f(t_{n},y_{n}),\\k_{2}&=\ f\!\left(t_{n}+{\frac {h}{2}},y_{n}+k_{1}{\frac {h}{2}}\right),\\k_{3}&=\ f\!\left(t_{n}+{\frac {h}{2}},y_{n}+k_{2}{\frac {h}{2}}\right),\\k_{4}&=\ f\!\left(t_{n}+h,y_{n}+hk_{3}\right).\end{aligned}}} ( หมายเหตุ: สมการข้างต้นมีคำจำกัดความที่แตกต่างกันแต่เทียบเท่ากันในตำราต่าง ๆ [ 4 ] )
ที่นี่y n + 1 {\displaystyle y_{n+1}} คือการประมาณค่า RK4 ของy ( ที n + 1 ) {\displaystyle y(t_{n+1})} และค่าถัดไป (y n + 1 {\displaystyle y_{n+1}} ) ถูกกำหนดโดยมูลค่าปัจจุบัน (y n {\displaystyle y_{n}} ) บวกกับค่าเฉลี่ยถ่วงน้ำหนัก ของช่วงเพิ่มขึ้นสี่ช่วง โดยแต่ละช่วงเพิ่มขึ้นเป็นผลคูณของขนาดของช่วงh และความชันโดยประมาณที่ระบุโดยฟังก์ชันf ทางด้านขวามือของสมการเชิงอนุพันธ์
เค 1 {\displaystyle k_{1}} คือค่าความชัน ณ จุดเริ่มต้นของช่วงเวลา โดยใช้y {\displaystyle y} ( วิธีของออยเลอร์ )เค 2 {\displaystyle k_{2}} คือค่าความชัน ณ จุดกึ่งกลางของช่วง โดยใช้y {\displaystyle y} และเค 1 {\displaystyle k_{1}} ;เค 3 {\displaystyle k_{3}} อีกครั้งหนึ่งคือความชันที่จุดกึ่งกลาง แต่คราวนี้ใช้y {\displaystyle y} และเค 2 {\displaystyle k_{2}} ;เค 4 {\displaystyle k_{4}} คือค่าความชัน ณ จุดสิ้นสุดของช่วง โดยใช้y {\displaystyle y} และเค 3 {\displaystyle k_{3}} .ในการหาค่าเฉลี่ยของความชันทั้งสี่ จะให้น้ำหนักกับความชันที่จุดกึ่งกลางมากกว่า หากเอฟ {\displaystyle f} เป็นอิสระจากy {\displaystyle y} ดังนั้นสมการเชิงอนุพันธ์จึงเทียบเท่ากับอินทิกรัลอย่างง่าย จากนั้น RK4 ก็คือกฎของซิมป์สัน [ 5 ]
วิธี RK4 เป็นวิธีอันดับสี่ ซึ่งหมายความว่าข้อผิดพลาดในการตัดทอนเฉพาะจุดนั้น อยู่ในระดับประมาณ โอ ( ชม. 5 ) {\displaystyle O(h^{5})} ในขณะที่ ข้อผิดพลาดสะสมทั้งหมด อยู่ในระดับประมาณโอ ( ชม. 4 ) {\displaystyle O(h^{4})} .
ในการใช้งานจริงหลายๆ ด้าน ฟังก์ชันนี้เอฟ {\displaystyle f} เป็นอิสระจากที {\displaystyle t} (เรียกว่าระบบอัตโนมัติ หรือระบบไม่เปลี่ยนแปลงตามเวลา โดยเฉพาะในทางฟิสิกส์) และค่าที่เพิ่มขึ้นของระบบเหล่านี้จะไม่ถูกคำนวณเลยและจะไม่ถูกส่งต่อไปยังฟังก์ชันเอฟ {\displaystyle f} โดยมีเพียงสูตรสุดท้ายสำหรับที n + 1 {\displaystyle t_{n+1}} ใช้แล้ว.
วิธีการรันเก-คุตตะแบบชัดเจนกลุ่ม วิธี Runge–Kutta แบบชัดเจน (explicit Runge–Kutta methods) เป็นการขยายความของวิธี RK4 ที่กล่าวถึงข้างต้น โดยกำหนดได้ดังนี้
y n + 1 = y n + ชม. ∑ ฉัน = 1 ส ข ฉัน เค ฉัน , {\displaystyle y_{n+1}=y_{n}+h\sum _{i=1}^{s}b_{i}k_{i},} โดยที่[ 6 ]
เค 1 = เอฟ ( ที n , y n ) , เค 2 = เอฟ ( ที n + ค 2 ชม. , y n + ( เอ 21 เค 1 ) ชม. ) , เค 3 = เอฟ ( ที n + ค 3 ชม. , y n + ( เอ 31 เค 1 + เอ 32 เค 2 ) ชม. ) , ⋮ เค ส = เอฟ ( ที n + ค ส ชม. , y n + ( เอ ส 1 เค 1 + เอ ส 2 เค 2 + ⋯ + เอ ส , ส − 1 เค ส − 1 ) ชม. ) . {\displaystyle {\begin{aligned}k_{1}&=f(t_{n},y_{n}),\\k_{2}&=f(t_{n}+c_{2}h,y_{n}+(a_{21}k_{1})h),\\k_{3}&=f(t_{n}+c_{3}h,y_{n}+(a_{31}k_{1}+a_{32}k_{2})h),\\&\ \ \vdots \\k_{s}&=f(t_{n}+c_{s}h,y_{n}+(a_{s1}k_{1}+a_{s2}k_{2}+\cdots +a_{s,s-1}k_{s-1})h).\end{aligned}}} ( หมายเหตุ: สมการข้างต้นอาจมีคำจำกัดความที่แตกต่างกันแต่เทียบเท่ากันในตำราบางเล่ม [ 4 ] ) ในการระบุวิธีการเฉพาะเจาะจง จำเป็นต้องระบุจำนวนเต็มs (จำนวนขั้นตอน) และสัมประสิทธิ์a (สำหรับ 1 ≤ j < i ≤ s ), b (สำหรับi = 1, 2, ..., s ) และc (สำหรับi = 2, 3, ..., s ) เมทริกซ์ [ a ] เรียกว่าเมทริกซ์ Runge–Kutta ในขณะที่b และc เรียกว่าน้ำหนัก และโหนด [ 7 ] ข้อมูลเหล่านี้มักจะถูกจัดเรียงในอุปกรณ์ช่วยจำที่เรียกว่าตาราง Butcher (ตั้งชื่อตามJohn C. Butcher ):
0 {\displaystyle 0} ค 2 {\displaystyle c_{2}} เอ 21 {\displaystyle a_{21}} ค 3 {\displaystyle c_{3}} เอ 31 {\displaystyle a_{31}} เอ 32 {\displaystyle a_{32}} ⋮ {\displaystyle \vdots } ⋮ {\displaystyle \vdots } ⋱ {\displaystyle \ddots } ค ส {\displaystyle c_{s}} เอ ส 1 {\displaystyle a_{s1}} เอ ส 2 {\displaystyle a_{s2}} ⋯ {\displaystyle \cdots } เอ ส , ส − 1 {\displaystyle a_{s,s-1}} ข 1 {\displaystyle b_{1}} ข 2 {\displaystyle b_{2}} ⋯ {\displaystyle \cdots } ข ส − 1 {\displaystyle b_{s-1}} ข ส {\displaystyle b_{s}}
การขยาย อนุกรมเทย์เลอร์ แสดงให้เห็นว่าวิธี Runge–Kutta มีความสอดคล้องก็ต่อเมื่อ
∑ ฉัน = 1 ส ข ฉัน = 1. {\displaystyle \sum _{i=1}^{s}b_{i}=1.} นอกจากนี้ยังมีข้อกำหนดเพิ่มเติมหากต้องการให้วิธีการมีลำดับp ที่แน่นอน ซึ่งหมายความว่าข้อผิดพลาดในการตัดทอนเฉพาะที่คือ O( h p +1 ) สิ่งเหล่านี้สามารถอนุมานได้จากนิยามของข้อผิดพลาดในการตัดทอนเอง ตัวอย่างเช่น วิธีการสองขั้นตอนมีลำดับ 2 ถ้าb + b = 1, b c = 1/2 และb a = 1/2 [ 8 ] โปรดทราบว่าเงื่อนไขที่นิยมใช้ในการกำหนดสัมประสิทธิ์คือ[ 8 ]
∑ เจ = 1 ฉัน − 1 เอ ฉัน เจ = ค ฉัน สำหรับ ฉัน = 2 , … , ส . {\displaystyle \sum _{j=1}^{i-1}a_{ij}=c_{i}{\text{ สำหรับ }}i=2,\ldots ,s.} อย่างไรก็ตาม เงื่อนไขนี้เพียงอย่างเดียวไม่เพียงพอหรือจำเป็นต่อความสอดคล้อง [ 9 ]
โดยทั่วไป หากมีการระบุอย่างชัดเจนส {\displaystyle s} วิธีการ Runge–Kutta แบบหลายขั้นตอนมีลำดับพี {\displaystyle p} จากนั้นจึงสามารถพิสูจน์ได้ว่าจำนวนขั้นตอนต้องเป็นไปตามเงื่อนไขที่กำหนดส ≥ พี {\displaystyle s\geq p} และถ้าพี ≥ 5 {\displaystyle p\geq 5} , แล้วส ≥ พี + 1 {\displaystyle s\geq p+1} [ 10 ] อย่างไรก็ตาม ยังไม่เป็นที่ทราบแน่ชัดว่าขอบเขตเหล่านี้มีความแม่นยำ ในทุกกรณีหรือ ไม่ ในบางกรณี มีการพิสูจน์แล้วว่าไม่สามารถบรรลุขอบเขตได้ ตัวอย่างเช่น Butcher พิสูจน์ว่าสำหรับพี > 6 {\displaystyle p>6} ไม่มีวิธีการที่ชัดเจนด้วยส = พี + 1 {\displaystyle s=p+1} ขั้นตอน[ 11 ] บุชเชอร์ยังพิสูจน์ได้ว่าสำหรับพี > 7 {\displaystyle p>7} ไม่มีวิธีการ Runge-Kutta ที่ชัดเจนด้วยพี + 2 {\displaystyle p+2} ขั้นตอน[ 12 ] โดยทั่วไปแล้ว ยังคงเป็นปัญหาที่ยังไม่ได้รับการแก้ไขว่าจำนวนขั้นตอนขั้นต่ำที่แน่นอนคือเท่าใดส {\displaystyle s} คือเพื่อให้วิธีการ Runge–Kutta ที่ชัดเจนมีลำดับพี {\displaystyle p} ค่าบางค่าที่ทราบได้แก่: [ 13 ]
พี 1 2 3 4 5 6 7 8 นาที ส 1 2 3 4 6 7 9 11 {\displaystyle {\begin{array}{c|cccccccc}p&1&2&3&4&5&6&7&8\\\hline \min s&1&2&3&4&6&7&9&11\end{array}}} ขอบเขตที่พิสูจน์ได้ข้างต้นจึงหมายความว่าเราไม่สามารถหาวิธีการเรียงลำดับได้พี = 1 , 2 , … , 6 {\displaystyle p=1,2,\ldots ,6} ซึ่งต้องใช้ขั้นตอนน้อยกว่าวิธีการที่เราทราบอยู่แล้วสำหรับลำดับเหล่านี้ งานของ Butcher ยังพิสูจน์ได้ว่าวิธีการลำดับที่ 7 และ 8 มีขั้นตอนขั้นต่ำ 9 และ 11 ขั้นตอนตามลำดับ[ 11 ] [ 12 ] ตัวอย่างของวิธีการที่ชัดเจนของลำดับที่ 6 ที่มี 7 ขั้นตอนสามารถพบได้ในเอกสารอ้างอิง[ 14 ] วิธีการที่ชัดเจนของลำดับที่ 7 ที่มี 9 ขั้นตอน[ 11 ] และวิธีการที่ชัดเจนของลำดับที่ 8 ที่มี 11 ขั้นตอน[ 15 ] ก็เป็นที่รู้จักเช่นกัน ดูเอกสารอ้างอิง[ 16 ] [ 17 ] สำหรับบทสรุป
ตัวอย่าง วิธีการ RK4 อยู่ในกรอบนี้ ตารางของมันคือ[ 18 ]
0 1/2 1/2 1/2 0 1/2 1 0 0 1 1/6 1/3 1/3 1/6
วิธีการ Runge–Kutta ที่แตกต่างเล็กน้อยนี้เกิดจาก Kutta ในปี 1901 และเรียกว่ากฎ 3/8 [ 19 ] ข้อได้เปรียบหลักของวิธีนี้คือค่าสัมประสิทธิ์ข้อผิดพลาดเกือบทั้งหมดมีขนาดเล็กกว่าในวิธีที่นิยม แต่ต้องใช้การดำเนินการจุดลอยตัวมากกว่าเล็กน้อยต่อขั้นตอนเวลา ตาราง Butcher ของวิธีนี้คือ
0 1/3 1/3 2/3 −1/3 1 1 1 −1 1 1/8 3/8 3/8 1/8
อย่างไรก็ตาม วิธี Runge–Kutta ที่ง่ายที่สุดคือวิธี Euler (แบบไปข้างหน้า) ซึ่งกำหนดโดยสูตรy n + 1 = y n + ชม. เอฟ ( ที n , y n ) {\displaystyle y_{n+1}=y_{n}+hf(t_{n},y_{n})} นี่เป็นวิธี Runge–Kutta ที่ชัดเจนและสอดคล้องกันเพียงวิธีเดียวที่มีขั้นตอนเดียว ตารางผลลัพธ์ที่เกี่ยวข้องคือ
วิธีการอันดับสองที่มีสองขั้นตอน ตัวอย่างหนึ่งของวิธีการอันดับสองที่มีสองขั้นตอน ได้แก่วิธีการจุดกึ่งกลาง แบบชัดเจน :
y n + 1 = y n + ชม. เอฟ ( ที n + 1 2 ชม. , y n + 1 2 ชม. เอฟ ( ที n , y n ) ) . {\displaystyle y_{n+1}=y_{n}+hf\left(t_{n}+{\frac {1}{2}}h,y_{n}+{\frac {1}{2}}hf(t_{n},\ y_{n})\right).} ตารางที่เกี่ยวข้องคือ
วิธีจุดกึ่งกลางไม่ใช่เพียงวิธี Runge–Kutta อันดับสองที่มีสองขั้นตอนเท่านั้น ยังมีวิธีการดังกล่าวอีกหลายวิธี ซึ่งกำหนดพารามิเตอร์ด้วย α และกำหนดโดยสูตร[ 20 ]
y n + 1 = y n + ชม. ( ( 1 − 1 2 α ) เอฟ ( ที n , y n ) + 1 2 α เอฟ ( ที n + α ชม. , y n + α ชม. เอฟ ( ที n , y n ) ) ) . {\displaystyle y_{n+1}=y_{n}+h{\bigl (}(1-{\tfrac {1}{2\alpha }})f(t_{n},y_{n})+{\tfrac {1}{2\alpha }}f(t_{n}+\alpha h,y_{n}+\alpha hf(t_{n},y_{n})){\bigr )}.} ฉากคนขายเนื้อของมันคือ
0 α {\displaystyle \alpha } α {\displaystyle \alpha } ( 1 − 1 2 α ) {\displaystyle (1-{\tfrac {1}{2\alpha }})} 1 2 α {\displaystyle {\tfrac {1}{2\alpha }}}
ในครอบครัวนี้α = 1 2 {\displaystyle \alpha ={\tfrac {1}{2}}} ให้วิธีการจุด กึ่งกลางα = 1 {\displaystyle \alpha =1} คือวิธีของ Heun [ 5 ] และ α = 2 3 {\displaystyle \alpha ={\tfrac {2}{3}}} เป็นวิธีการของราลสตัน
ใช้ ยกตัวอย่างเช่น พิจารณาวิธี Runge–Kutta อันดับสองแบบสองขั้นตอนที่มี α = 2/3 หรือที่รู้จักกันในชื่อวิธี Ralston ซึ่งแสดงโดยตาราง
พร้อมด้วยสมการที่เกี่ยวข้อง
เค 1 = เอฟ ( ที n , y n ) , เค 2 = เอฟ ( ที n + 2 3 ชม. , y n + 2 3 ชม. เค 1 ) , y n + 1 = y n + ชม. ( 1 4 เค 1 + 3 4 เค 2 ) . {\displaystyle {\begin{aligned}k_{1}&=f(t_{n},\ y_{n}),\\k_{2}&=f(t_{n}+{\tfrac {2}{3}}h,\ y_{n}+{\tfrac {2}{3}}hk_{1}),\\y_{n+1}&=y_{n}+h\left({\tfrac {1}{4}}k_{1}+{\tfrac {3}{4}}k_{2}\right).\end{aligned}}} วิธีนี้ใช้ในการแก้ปัญหาค่าเริ่มต้น
ง y ง ที = แทน ( y ) + 1 , y 0 = 1 , ที ∈ [ 1 , 1.1 ] {\displaystyle {\frac {dy}{dt}}=\tan(y)+1,\quad y_{0}=1,\ t\in [1,1.1]} โดยมีขนาดขั้นตอนh = 0.025 ดังนั้นวิธีการนี้จึงต้องใช้สี่ขั้นตอน
วิธีการดำเนินการมีดังนี้:
ที 0 = 1 : {\displaystyle t_{0}=1\colon } y 0 = 1 {\displaystyle y_{0}=1} ที 1 = 1.025 : {\displaystyle t_{1}=1.025\colon } y 0 = 1 {\displaystyle y_{0}=1} เค 1 = 2.557407725 {\displaystyle k_{1}=2.557407725} เค 2 = เอฟ ( ที 0 + 2 3 ชม. , y 0 + 2 3 ชม. เค 1 ) = 2.7138981400 {\displaystyle k_{2}=f(t_{0}+{\tfrac {2}{3}}h,\ y_{0}+{\tfrac {2}{3}}hk_{1})=2.7138981400} y 1 = y 0 + ชม. ( 1 4 เค 1 + 3 4 เค 2 ) = 1.066869388 _ {\displaystyle y_{1}=y_{0}+h({\tfrac {1}{4}}k_{1}+{\tfrac {3}{4}}k_{2})={\underline {1.066869388}}} ที 2 = 1.05 : {\displaystyle t_{2}=1.05\colon } y 1 = 1.066869388 {\displaystyle y_{1}=1.066869388} เค 1 = 2.813524695 {\displaystyle k_{1}=2.813524695} เค 2 = เอฟ ( ที 1 + 2 3 ชม. , y 1 + 2 3 ชม. เค 1 ) {\displaystyle k_{2}=f(t_{1}+{\tfrac {2}{3}}h,\ y_{1}+{\tfrac {2}{3}}hk_{1})} y 2 = y 1 + ชม. ( 1 4 เค 1 + 3 4 เค 2 ) = 1.141332181 _ {\displaystyle y_{2}=y_{1}+h({\tfrac {1}{4}}k_{1}+{\tfrac {3}{4}}k_{2})={\underline {1.141332181}}} ที 3 = 1.075 : {\displaystyle t_{3}=1.075\colon } y 2 = 1.141332181 {\displaystyle y_{2}=1.141332181} เค 1 = 3.183536647 {\displaystyle k_{1}=3.183536647} เค 2 = เอฟ ( ที 2 + 2 3 ชม. , y 2 + 2 3 ชม. เค 1 ) {\displaystyle k_{2}=f(t_{2}+{\tfrac {2}{3}}h,\ y_{2}+{\tfrac {2}{3}}hk_{1})} y 3 = y 2 + ชม. ( 1 4 เค 1 + 3 4 เค 2 ) = 1.227417567 _ {\displaystyle y_{3}=y_{2}+h({\tfrac {1}{4}}k_{1}+{\tfrac {3}{4}}k_{2})={\underline {1.227417567}}} ที 4 = 1.1 : {\displaystyle t_{4}=1.1\colon } y 3 = 1.227417567 {\displaystyle y_{3}=1.227417567} เค 1 = 3.796866512 {\displaystyle k_{1}=3.796866512} เค 2 = เอฟ ( ที 3 + 2 3 ชม. , y 3 + 2 3 ชม. เค 1 ) {\displaystyle k_{2}=f(t_{3}+{\tfrac {2}{3}}h,\ y_{3}+{\tfrac {2}{3}}hk_{1})} y 4 = y 3 + ชม. ( 1 4 เค 1 + 3 4 เค 2 ) = 1.335079087 _ . {\displaystyle y_{4}=y_{3}+h({\tfrac {1}{4}}k_{1}+{\tfrac {3}{4}}k_{2})={\underline {1.335079087}}.}
ค่าที่ขีดเส้นใต้แสดงถึงคำตอบเชิงตัวเลข
วิธีการรันเก-คุตตะโดยปริยายโดยทั่วไปแล้ว วิธี Runge–Kutta แบบชัดเจนไม่เหมาะสำหรับการแก้สมการแข็ง เนื่องจากขอบเขตของเสถียรภาพสัมบูรณ์มีขนาดเล็ก โดยเฉพาะอย่างยิ่งมีขอบเขตจำกัด[ 21 ] ปัญหานี้มีความสำคัญอย่างยิ่งในการแก้สมการเชิงอนุพันธ์ย่อย
ความไม่เสถียรของวิธีการรันเก-คุตตะแบบชัดแจ้งเป็นแรงผลักดันให้เกิดการพัฒนาวิธีการรันเก-คุตตะแบบไม่ชัดแจ้ง วิธีการรันเก-คุตตะแบบไม่ชัดแจ้งมีรูปแบบดังนี้
y n + 1 = y n + ชม. ∑ ฉัน = 1 ส ข ฉัน เค ฉัน , {\displaystyle y_{n+1}=y_{n}+h\sum _{i=1}^{s}b_{i}k_{i},} ที่ไหน
เค ฉัน = เอฟ ( ที n + ค ฉัน ชม. , y n + ชม. ∑ เจ = 1 ส เอ ฉัน เจ เค เจ ) , ฉัน = 1 , … , ส . {\displaystyle k_{i}=f\left(t_{n}+c_{i}h,\ y_{n}+h\sum _{j=1}^{s}a_{ij}k_{j}\right),\quad i=1,\ldots ,s.} [ 22 ] ความแตกต่างกับวิธีการที่ชัดเจนคือ ในวิธีการที่ชัดเจน ผลรวมเหนือj จะไปถึงแค่i − 1 เท่านั้น [ 23 ] สิ่งนี้ยังปรากฏในตาราง Butcher ด้วย นั่นคือเมทริกซ์สัมประสิทธิ์เอ ฉัน เจ {\displaystyle a_{ij}} ของวิธีการที่ชัดเจนนั้นเป็นเมทริกซ์สามเหลี่ยมล่าง ในวิธีการโดยปริยาย ผลรวมเหนือj จะเพิ่มขึ้นเป็นs และเมทริกซ์สัมประสิทธิ์ไม่ใช่เมทริกซ์สามเหลี่ยมอย่างเคร่งครัด ทำให้ได้ตาราง Butcher ในรูปแบบ[ 18 ]
ค 1 เอ 11 เอ 12 … เอ 1 ส ค 2 เอ 21 เอ 22 … เอ 2 ส ⋮ ⋮ ⋮ ⋱ ⋮ ค ส เอ ส 1 เอ ส 2 … เอ ส ส ข 1 ข 2 … ข ส = ค เอ ข ที {\displaystyle {\begin{array}{c|cccc}c_{1}&a_{11}&a_{12}&\dots &a_{1s}\\c_{2}&a_{21}&a_{22}&\dots &a_{2s}\\\vdots &\vdots &\vdots &\ddots &\vdots \\c_{s}&a_{s1}&a_{s2}&\dots &a_{ss}\\\hline &b_{1}&b_{2}&\dots &b_{s}\\\end{array}}={\begin{array}{c|c}\mathbf {c} &A\\\hline &\mathbf {b^{T}} \\\end{array}}} ผลที่ตามมาของความแตกต่างนี้คือ ในแต่ละขั้นตอน จะต้องแก้ระบบสมการพีชคณิต ซึ่งจะเพิ่มต้นทุนการคำนวณอย่างมาก หากใช้ วิธีที่มี s ขั้นตอนในการแก้สมการเชิงอนุพันธ์ที่มี m ส่วนประกอบ ระบบสมการพีชคณิตจะมีms ส่วนประกอบ ซึ่งสามารถเปรียบเทียบได้กับวิธีการหลายขั้นตอนเชิงเส้น แบบปริยาย (ซึ่งเป็นอีกกลุ่มใหญ่ของวิธีการสำหรับ ODE): วิธีการหลายขั้นตอนเชิงเส้นแบบปริยายs ขั้นตอนจำเป็นต้องแก้ระบบสมการพีชคณิตที่มีเพียงm ส่วนประกอบเท่านั้น ดังนั้นขนาดของระบบจึงไม่เพิ่มขึ้นเมื่อจำนวนขั้นตอนเพิ่มขึ้น[ 24 ]
ตัวอย่าง ตัวอย่างที่ง่ายที่สุดของวิธีการ Runge–Kutta แบบไม่ชัดเจนคือวิธีการ Euler แบบย้อนกลับ :
y n + 1 = y n + ชม. เอฟ ( ที n + ชม. , y n + 1 ) . {\displaystyle y_{n+1}=y_{n}+hf(t_{n}+h,\ y_{n+1}).\,} ภาพประกอบสำหรับเรื่องนี้โดยสรุปก็คือ:
1 1 1 {\displaystyle {\begin{array}{c|c}1&1\\\hline &1\\\end{array}}} ตารางแสดงภาพคนขายเนื้อนี้สอดคล้องกับสูตรต่างๆ
เค 1 = เอฟ ( ที n + ชม. , y n + ชม. เค 1 ) และ y n + 1 = y n + ชม. เค 1 , {\displaystyle k_{1}=f(t_{n}+h,\ y_{n}+hk_{1})\quad {\text{and}}\quad y_{n+1}=y_{n}+hk_{1},} ซึ่งสามารถนำมาจัดเรียงใหม่เพื่อให้ได้สูตรสำหรับวิธีการออยเลอร์แบบย้อนกลับที่ระบุไว้ข้างต้น
อีกตัวอย่างหนึ่งของวิธีการ Runge–Kutta แบบไม่ชัดเจนคือกฎสี่เหลี่ยมคางหมู ตาราง Butcher ของกฎนี้คือ:
0 0 0 1 1 2 1 2 1 2 1 2 1 0 {\displaystyle {\begin{array}{c|cc}0&0&0\\1&{\frac {1}{2}}&{\frac {1}{2}}\\\hline &{\frac {1}{2}}&{\frac {1}{2}}\\&1&0\\\end{array}}} กฎสี่เหลี่ยมคางหมูเป็นวิธีการจัดเรียง (ตามที่ได้กล่าวไว้ในบทความนั้น) วิธีการจัดเรียงทั้งหมดเป็นวิธีการ Runge–Kutta โดยปริยาย แต่ไม่ใช่ว่าวิธีการ Runge–Kutta โดยปริยายทั้งหมดจะเป็นวิธีการจัดเรียง[ 25 ]
วิธีการ Gauss –Legendre เป็นกลุ่มของวิธีการจัดเรียงตามGauss quadrature วิธีการ Gauss–Legendre ที่มีs ขั้นตอนจะมีลำดับ 2s ( ดังนั้น วิธีการที่มีลำดับสูงตามอำเภอใจจึงสามารถสร้างได้) [ 26 ] วิธีการที่มีสองขั้นตอน (และดังนั้นลำดับสี่) มีตาราง Butcher:
1 2 − 1 6 3 1 4 1 4 − 1 6 3 1 2 + 1 6 3 1 4 + 1 6 3 1 4 1 2 1 2 1 2 + 1 2 3 1 2 − 1 2 3 {\displaystyle {\begin{array}{c|cc}{\frac {1}{2}}-{\frac {1}{6}}{\sqrt {3}}&{\frac {1}{4}}&{\frac {1}{4}}-{\frac {1}{6}}{\sqrt {3}}\\{\frac {1}{2}}+{\frac {1}{6}}{\sqrt {3}}&{\frac {1}{4}}+{\frac {1}{6}}{\sqrt {3}}&{\frac {1}{4}}\\\hline &{\frac {1}{2}}&{\frac {1}{2}}\\&{\frac {1}{2}}+{\frac {1}{2}}{\sqrt {3}}&{\frac {1}{2}}-{\frac {1}{2}}{\sqrt {3}}\end{array}}} [ 24 ]
ความเสถียร ข้อดีของวิธีการรันเก-คุตตาแบบไม่ชัดแจ้งเมื่อเทียบกับแบบชัดแจ้งคือความเสถียรที่มากกว่า โดยเฉพาะอย่างยิ่งเมื่อนำไปใช้กับสมการที่ซับซ้อน พิจารณาสมการทดสอบเชิงเส้นy ′ = λ y {\displaystyle y'=\lambda y} วิธี Runge–Kutta ที่ใช้กับสมการนี้จะลดลงเหลือการวนซ้ำy n + 1 = ร ( ชม. λ ) y n {\displaystyle y_{n+1}=r(h\lambda )\,y_{n}} โดยที่r กำหนดโดย
ร ( z ) = 1 + z ข ที ( ฉัน − z เอ ) − 1 อี = เดท ( ฉัน − z เอ + z อี ข ที ) เดท ( ฉัน − z เอ ) , {\displaystyle r(z)=1+zb^{T}(I-zA)^{-1}e={\frac {\det(I-zA+zeb^{T})}{\det(I-zA)}},} [ 27 ] โดยที่e หมายถึงเวกเตอร์ของเลขหนึ่ง ฟังก์ชันr เรียกว่าฟังก์ชันเสถียรภาพ [ 28 ] จากสูตรนี้r จะเป็นผลหารของพหุนามสองตัวที่มีดีกรีs หากวิธีการมีs ขั้นตอน วิธีการที่ชัดเจนจะมีเมทริกซ์สามเหลี่ยมล่างA อย่างเคร่งครัด ซึ่งหมายความว่า det( I − zA ) = 1 และฟังก์ชันเสถียรภาพเป็นพหุนาม[ 29 ]
วิธีแก้ปัญหาเชิงตัวเลขของสมการทดสอบเชิงเส้นจะลดลงเหลือศูนย์หาก | r ( z ) | < 1 โดยที่z = h λ เซตของz ดัง กล่าวเรียกว่าโดเมนของความเสถียรสัมบูรณ์ โดยเฉพาะอย่างยิ่ง วิธีการนี้กล่าวได้ว่ามีความเสถียรสัมบูรณ์ หาก z ทั้งหมดที่มี Re( z ) < 0 อยู่ในโดเมนของความเสถียรสัมบูรณ์ ฟังก์ชันความเสถียรของวิธีการ Runge–Kutta แบบชัดเจนเป็นพหุนาม ดังนั้นวิธีการ Runge–Kutta แบบชัดเจนจึงไม่มีทางมีความเสถียรแบบ A ได้[ 29 ]
ถ้าวิธีการนั้นมีลำดับp แล้ว ฟังก์ชันเสถียรภาพจะสอดคล้องกับร ( z ) = อี z + โอ ( z พี + 1 ) {\displaystyle r(z)={\textrm {e}}^{z}+O(z^{p+1})} เช่นz → 0 {\displaystyle z\to 0} ดังนั้น การศึกษาผลหารของพหุนามที่มีดีกรีที่กำหนดซึ่งประมาณฟังก์ชันเลขชี้กำลังได้ดีที่สุดจึงน่าสนใจ สิ่งเหล่านี้เรียกว่าตัวประมาณ Padé ตัวประมาณ Padé ที่มีตัวเศษดีกรีm และตัวส่วนดีกรีn จะมีเสถียรภาพแบบ A ก็ต่อเมื่อm ≤ n ≤ m + 2 [ 30 ]
วิธี Gauss–Legendre ที่มีs ขั้นตอนมีลำดับ 2s ดังนั้น ฟังก์ชันเสถียรภาพของมันจึงเป็นตัวประมาณ Padé ที่มีm = n = s ซึ่งแสดงให้เห็นว่าวิธีนี้มีเสถียรภาพแบบ A [ 31 ] สิ่งนี้แสดงให้เห็นว่า Runge–Kutta ที่มีเสถียรภาพแบบ A สามารถมีลำดับสูงได้ตามอำเภอใจ ในทางตรงกันข้าม ลำดับของ วิธีการหลายขั้นตอนเชิงเส้นที่ มีเสถียรภาพแบบ A ไม่สามารถเกินสองได้[ 32 ]
วิธีการ Runge–Kutta แบบปรับตัวได้วิธีการปรับตัวถูกออกแบบมาเพื่อสร้างค่าประมาณของข้อผิดพลาดการตัดทอนเฉพาะที่ของขั้นตอน Runge–Kutta เดียว โดยทำได้โดยใช้สองวิธี วิธีหนึ่งมีลำดับพี {\displaystyle p} และหนึ่งรายการที่มีคำสั่งพี − 1 {\displaystyle p-1} วิธีการเหล่านี้เชื่อมโยงกัน กล่าวคือ มีขั้นตอนกลางที่เหมือนกัน ด้วยเหตุนี้ การประมาณค่าความคลาดเคลื่อนจึงใช้ต้นทุนการคำนวณน้อยหรือแทบไม่มีเลย เมื่อเทียบกับขั้นตอนที่ใช้วิธีการลำดับสูงกว่า
ในระหว่างการคำนวณแบบอินทิเกรต ขนาดของขั้นตอนจะถูกปรับเพื่อให้ค่าความคลาดเคลื่อนที่คาดการณ์ไว้ต่ำกว่าเกณฑ์ที่ผู้ใช้กำหนด: หากค่าความคลาดเคลื่อนสูงเกินไป ขั้นตอนจะถูกทำซ้ำด้วยขนาดขั้นตอนที่เล็กลง หากค่าความคลาดเคลื่อนน้อยลงมาก ขนาดของขั้นตอนจะถูกเพิ่มขึ้นเพื่อประหยัดเวลา วิธีนี้ส่งผลให้ได้ขนาดขั้นตอนที่เหมาะสมที่สุด (เกือบจะ) ซึ่งช่วยประหยัดเวลาในการคำนวณ นอกจากนี้ ผู้ใช้ไม่จำเป็นต้องเสียเวลาในการค้นหาขนาดขั้นตอนที่เหมาะสมอีกด้วย
ขั้นตอนลำดับต่ำกว่ากำหนดโดย
y n + 1 * = y n + ชม. ∑ ฉัน = 1 ส ข ฉัน * เค ฉัน , {\displaystyle y_{n+1}^{*}=y_{n}+h\sum _{i=1}^{s}b_{i}^{*}k_{i},} ที่ไหนเค ฉัน {\displaystyle k_{i}} เหมือนกับวิธีการลำดับสูงกว่า ดังนั้นข้อผิดพลาดคือ
อี n + 1 = y n + 1 − y n + 1 * = ชม. ∑ ฉัน = 1 ส ( ข ฉัน − ข ฉัน * ) เค ฉัน , {\displaystyle e_{n+1}=y_{n+1}-y_{n+1}^{*}=h\sum _{i=1}^{s}(b_{i}-b_{i}^{*})k_{i},} ซึ่งคือโอ ( ชม. พี ) {\displaystyle O(h^{p})} ตาราง Butcher สำหรับวิธีการประเภทนี้ได้รับการขยายเพื่อให้ได้ค่าของข ฉัน * {\displaystyle b_{i}^{*}} :
ค 1 เอ 11 เอ 12 … เอ 1 ส ค 2 เอ 21 เอ 22 … เอ 2 ส ⋮ ⋮ ⋮ ⋱ ⋮ ค ส เอ ส 1 เอ ส 2 … เอ ส ส ข 1 ข 2 … ข ส ข 1 * ข 2 * … ข ส * {\displaystyle {\begin{array}{c|cccc}c_{1}&a_{11}&a_{12}&\dots &a_{1s}\\c_{2}&a_{21}&a_{22}&\dots &a_{2s}\\\vdots &\vdots &\vdots &\ddots &\vdots \\c_{s}&a_{s1}&a_{s2}&\dots &a_{ss}\\\hline &b_{1}&b_{2}&\dots &b_{s}\\&b_{1}^{*}&b_{2}^{*}&\dots &b_{s}^{*}\\\end{array}}}
วิธี Runge –Kutta–Fehlberg มีสองวิธี คือ วิธีลำดับที่ 5 และวิธีลำดับที่ 4 ตาราง Butcher ที่ขยายแล้วมีดังนี้:
0 1/4 1/4 3/8 3/32 9/32 12/13 1932/2197 −7200/2197 7296/2197 1 439/216 −8 3680/513 -845/4104 1/2 −8/27 2 −3544/2565 1859/4104 −11/40 16/135 0 6656/12825 28561/56430 -9/50 2/55 25/216 0 1408/2565 2197/4104 −1/5 0
อย่างไรก็ตาม วิธี Runge–Kutta แบบปรับตัวที่ง่ายที่สุดนั้นเกี่ยวข้องกับการรวมวิธีของ Heun ซึ่งมีลำดับที่ 2 เข้ากับวิธีของ Euler ซึ่งมีลำดับที่ 1 ตาราง Butcher ที่ขยายแล้วมีดังนี้:
วิธีการ Runge–Kutta แบบปรับตัวได้อื่นๆ ได้แก่วิธี Bogacki–Shampine (ลำดับที่ 3 และ 2), วิธี Cash–Karp และวิธี Dormand–Prince (ทั้งสองวิธีมีลำดับที่ 5 และ 4)
วิธีการรันเก-คุตตาแบบไม่ต่อเนื่องกล่าวกันว่าวิธี Runge–Kutta ไม่มีการบรรจบกัน [ 33 ] หากทั้งหมดค ฉัน , ฉัน = 1 , 2 , … , ส {\displaystyle c_{i},\,i=1,2,\ldots ,s} แตกต่างกันอย่างชัดเจน
วิธีรุ่งเง-คุตตะ-นิสตรอมวิธีการ Runge–Kutta–Nyström (RKN) เป็นกลุ่มของวิธีการที่ใช้หลักการเดียวกันกับวิธีการ Runge–Kutta แต่สำหรับปัญหาค่าเริ่มต้นอันดับสอง[ 34 ] [ 35 ] ดังนั้นปัญหาในรูปแบบ :
ง 2 y ง ที 2 = เอฟ ( ที , ง y ง ที , y ) , y ( ที 0 ) = y 0 , ง y ง ที ( ที 0 ) = y 0 ′ . {\displaystyle {\frac {d^{2}y}{dt^{2}}}=f(t,{\frac {dy}{dt}},y),\quad y(t_{0})=y_{0},\quad {\frac {dy}{dt}}(t_{0})=y'_{0}.} มีอนุพันธ์สองตัวและค่าประมาณสองค่า ดังนั้นวิธีการ Runge-Kutta-Nyström จึงใช้เมทริกซ์ Runge-Kutta สองตัวเอ ฉัน เจ , เอ ฉัน เจ ′ {\displaystyle a_{ij},a'_{ij}} และตุ้มน้ำหนักสองชุดข ฉัน , ข ฉัน ′ {\displaystyle b_{i},b'_{i}} แต่ยังคงต้องการเพียงชุดโหนดเดียวเท่านั้นค ฉัน {\displaystyle c_{i}} ซึ่งจะได้โต๊ะสำหรับชำแหละเนื้อที่มีรูปทรงดังนี้ :
ค 1 เอ 11 เอ 12 … เอ 1 ส ค 2 เอ 21 เอ 22 … เอ 2 ส ⋮ ⋮ ⋮ ⋱ ⋮ ค ส เอ ส 1 เอ ส 2 … เอ ส ส เอ 11 ′ เอ 12 ′ … เอ 1 ส ′ เอ 21 ′ เอ 22 ′ … เอ 2 ส ′ ⋮ ⋮ ⋱ ⋮ เอ ส 1 ′ เอ ส 2 ′ … เอ ส ส ′ ข 1 ข 2 … ข ส ข 1 ′ ข 2 ′ … ข ส ′ = ค เอ เอ ′ ข ⊤ ข ′ ⊤ {\displaystyle {\begin{array}{c|cccc}c_{1}&a_{11}&a_{12}&\dots &a_{1s}\\c_{2}&a_{21}&a_{22}&\dots &a_{2s}\\\vdots &\vdots &\vdots &\ddots &\vdots \\c_{s}&a_{s1}&a_{s2}&\dots &a_{ss}\\\hline &a'_{11}&a'_{12}&\dots &a'_{1s}\\&a'_{21}&a'_{22}&\dots &a'_{2s}\\&\vdots &\vdots &\ddots &\vdots \\&a'_{s1}&a'_{s2}&\dots &a'_{ss}\\\hline &b_{1}&b_{2}&\dots &b_{s}\\&b'_{1}&b'_{2}&\dots &b'_{s}\\\end{array}}={\begin{array}{c|c}\mathbf {c} &\mathbf {A} \\\hline &\mathbf {A'} \\\hline &\mathbf {b} ^{\top }\\&\mathbf {b'} ^{\top }\end{array}}}
สมมติว่าการประมาณค่าได้ดำเนินการจนถึงระดับหนึ่งแล้วที n {\displaystyle t_{n}} , กับy n {\displaystyle y_{n}} การประมาณค่าของy ( ที n ) {\displaystyle y(t_{n})} และy n ′ {\displaystyle y'_{n}} การประมาณค่าของง y ง ที ( ที n ) {\displaystyle {\frac {dy}{dt}}(t_{n})} การประมาณค่าy n + 1 , y n + 1 ′ {\displaystyle y_{n+1},y'_{n+1}} ที่ที n + 1 = ที n + ชม. {\displaystyle t_{n+1}=t_{n}+h} คำตอบของระบบสมการต่อไปนี้คือ :
{ จี ฉัน = y n + ค ฉัน ชม. y n ′ + ชม. 2 ∑ เจ = 1 ส เอ ฉัน เจ เอฟ ( ที n + ค เจ ชม. , จี เจ ′ , จี เจ ) , ฉัน = 1 , 2 , … , ส จี ฉัน ′ = y n ′ + ชม. ∑ เจ = 1 ส เอ ฉัน เจ ′ เอฟ ( ที n + ค เจ ชม. , จี เจ ′ , จี เจ ) , ฉัน = 1 , 2 , … , ส y n + 1 = y n + ชม. y n ′ + ชม. 2 ∑ เจ = 1 ส ข เจ เอฟ ( ที n + ค เจ ชม. , จี เจ ′ , จี เจ ) y n + 1 ′ = y n ′ + ชม. ∑ เจ = 1 ส ข เจ ′ เอฟ ( ที n + ค เจ ชม. , จี เจ ′ , จี เจ ) {\displaystyle {\begin{cases}g_{i}=y_{n}+c_{i}hy'_{n}+h^{2}\sum _{j=1}^{s}a_{ij}f(t_{n}+c_{j}h,g'_{j},g_{j}),&i=1,2,\ldots ,s\\g'_{i}=y'_{n}+h\sum _{j=1}^{s}a'_{ij}f(t_{n}+c_{j}h,g'_{j},g_{j}),&i=1,2,\ldots ,s\\\\y_{n+1}=y_{n}+hy'_{n}+h^{2}\sum _{j=1}^{s}b_{j}f(t_{n}+c_{j}h,g'_{j},g_{j})\\y'_{n+1}=y'_{n}+h\sum _{j=1}^{s}b'_{j}f(t_{n}+c_{j}h,g'_{j},g_{j})\end{cases}}}
ที่ไหนจี ฉัน , จี ฉัน ′ {\displaystyle g_{i},g'_{i}} เป็นการประมาณค่าระดับกลางของy {\displaystyle y} และง y ง ที {\displaystyle {\frac {dy}{dt}}} มันเทียบเท่ากับการทำงานกับค่าต่างๆ อย่างเคร่งครัดเค เจ = เอฟ ( ที n + ค เจ ชม. , จี เจ ′ , จี เจ ) {\displaystyle k_{j}=f(t_{n}+c_{j}h,g'_{j},g_{j})} ที่ซึ่งจี เจ , จี เจ ′ {\displaystyle g_{j},g'_{j}} ได้ถูกแทนที่ด้วยสูตรของพวกเขา แทนที่จะทำงานร่วมกับจี ฉัน , จี ฉัน ′ {\displaystyle g_{i},g'_{i}} ในทำนองเดียวกันกับที่เราเคยทำกับวิธีการ Runge-Kutta แต่ระบบนี้เขียนได้ง่ายกว่าด้วยวิธีนี้
วิธีการ Runge-Kutta-Nyström จะเรียกว่าเป็นแบบชัดเจน (explicit) ถ้าทั้งเอ , เอ ′ {\displaystyle A,A'} เป็นเมทริกซ์สามเหลี่ยมล่างอย่างเคร่งครัด และในกรณีนี้ ผลรวม∑ เจ = 1 ส {\textstyle \sum _{j=1}^{s}} ในการแสดงออกของจี ฉัน , จี ฉัน ′ {\displaystyle g_{i},g'_{i}} อาจถูกแทนที่ด้วย∑ เจ = 1 ฉัน − 1 {\textstyle \sum _{j=1}^{i-1}} [ 36 ] นอกจากนี้ วิธี Runge-Kutta-Nyström ยังกล่าวกันว่ามีลำดับพี {\displaystyle p} หากข้อผิดพลาดการตัดทอนในพื้นที่ของทั้งสองy n + 1 , y n + 1 ′ {\displaystyle y_{n+1},y'_{n+1}} เป็นโอ ( ชม. พี + 1 ) {\displaystyle O(h^{p+1})} .
ถ้าฟังก์ชันเอฟ {\displaystyle f} ปัญหาค่าเริ่มต้นที่พิจารณานั้นเป็นอิสระจากง y ง ที {\displaystyle {\frac {dy}{dt}}} ไม่จำเป็นต้องประมาณค่าระหว่างกลางจี ฉัน ′ {\displaystyle g'_{i}} เพื่อคำนวณค่าประมาณและน้ำหนักเอ ฉัน เจ ′ {\displaystyle a'_{ij}} ดังนั้น วิธีการเหล่านั้นจึงไร้ประโยชน์ และเราจึงเขียนวิธีการที่ใช้เฉพาะกรณีพิเศษนี้ขึ้นมาแทน โดยใช้ตารางในรูปแบบดังนี้ :
ค 1 เอ 11 เอ 12 … เอ 1 ส ค 2 เอ 21 เอ 22 … เอ 2 ส ⋮ ⋮ ⋮ ⋱ ⋮ ค ส เอ ส 1 เอ ส 2 … เอ ส ส ข 1 ข 2 … ข ส ข 1 ′ ข 2 ′ … ข ส ′ = ค เอ ข ⊤ ข ′ ⊤ {\displaystyle {\begin{array}{c|cccc}c_{1}&a_{11}&a_{12}&\dots &a_{1s}\\c_{2}&a_{21}&a_{22}&\dots &a_{2s}\\\vdots &\vdots &\vdots &\ddots &\vdots \\c_{s}&a_{s1}&a_{s2}&\dots &a_{ss}\\\hline &b_{1}&b_{2}&\dots &b_{s}\\&b'_{1}&b'_{2}&\dots &b'_{s}\\\end{array}}={\begin{array}{c|c}\mathbf {c} &\mathbf {A} \\\hline &\mathbf {b} ^{\top }\\&\mathbf {b'} ^{\top }\end{array}}}
กรณีพิเศษนี้มีความน่าสนใจเป็นพิเศษ เนื่องจากช่วยให้ได้ลำดับที่สูงกว่าที่วิธีการ Runge-Kutta-Nyström ทั่วไปสามารถทำได้ ตัวอย่างเช่น วิธีการ RKN ลำดับที่สี่แบบชัดเจนสองวิธีแสดงอยู่ในตาราง Butcher ต่อไปนี้:
ค ฉัน เอ ฉัน เจ 3 + 3 6 0 0 0 3 − 3 6 2 − 3 12 0 0 3 + 3 6 0 3 6 0 ข ฉัน 3 − 2 3 12 1 2 3 + 2 3 12 ข ฉัน ′ 5 − 3 3 24 3 + 3 12 1 + 3 24 {\displaystyle {\begin{array}{c|ccc}c_{i}&&a_{ij}&\\{\frac {3+{\sqrt {3}}}{6}}&0&0&0\\{\frac {3-{\sqrt {3}}}{6}}&{\frac {2-{\sqrt {3}}}{12}}&0&0\\{\frac {3+{\sqrt {3}}}{6}}&0&{\frac {\sqrt {3}}{6}}&0\\\hline b_{i}&{\frac {3-2{\sqrt {3}}}{12}}&{\frac {1}{2}}&{\frac {3+2{\sqrt {3}}}{12}}\\\hline b'_{i}&{\frac {5-3{\sqrt {3}}}{24}}&{\frac {3+{\sqrt {3}}}{12}}&{\frac {1+{\sqrt {3}}}{24}}\\\end{array}}} ค ฉัน เอ ฉัน เจ 3 − 3 6 0 0 0 3 + 3 6 2 + 3 12 0 0 3 − 3 6 0 − 3 6 0 ข ฉัน 3 + 2 3 12 1 2 3 − 2 3 12 ข ฉัน ′ 5 + 3 3 24 3 − 3 12 1 − 3 24 {\displaystyle {\begin{array}{c|ccc}c_{i}&&a_{ij}&\\{\frac {3-{\sqrt {3}}}{6}}&0&0&0\\{\frac {3+{\sqrt {3}}}{6}}&{\frac {2+{\sqrt {3}}}{12}}&0&0\\{\frac {3-{\sqrt {3}}}{6}}&0&-{\frac {\sqrt {3}}{6}}&0\\\hline b_{i}&{\frac {3+2{\sqrt {3}}}{12}}&{\frac {1}{2}}&{\frac {3-2{\sqrt {3}}}{12}}\\\hline b'_{i}&{\frac {5+3{\sqrt {3}}}{24}}&{\frac {3-{\sqrt {3}}}{12}}&{\frac {1-{\sqrt {3}}}{24}}\\\end{array}}}
แผนการทั้งสองนี้ยังมีคุณสมบัติในการรักษาสภาพเชิงซิมเพล็กติกเมื่อสมการดั้งเดิมได้มาจากระบบกลศาสตร์คลาสสิกแบบอนุรักษ์ กล่าวคือเมื่อ
เอฟ ฉัน ( x 1 , … , x n ) = ∂ วี ∂ x ฉัน ( x 1 , … , x n ) {\displaystyle f_{i}(x_{1},\ldots ,x_{n})={\frac {\partial V}{\partial x_{i}}}(x_{1},\ldots ,x_{n})}
สำหรับฟังก์ชันสเกลาร์บางฟังก์ชันวี {\displaystyle V} [ 37 ]
ความเสถียรของบี แนวคิดเรื่องเสถียรภาพ A สำหรับการแก้สมการเชิงอนุพันธ์นั้นเกี่ยวข้องกับสมการเชิงเส้นแบบอิสระy ′ = λ y {\displaystyle y'=\lambda y} Dahlquist (1963) เสนอให้ศึกษาเสถียรภาพของวิธีการเชิงตัวเลขเมื่อนำไปใช้กับระบบไม่เชิงเส้นที่ตรงตามเงื่อนไขความเป็นเอกรูป แนวคิดที่เกี่ยวข้องได้รับการกำหนดเป็นเสถียรภาพแบบ G สำหรับวิธีการหลายขั้นตอน (และวิธีการขาเดียวที่เกี่ยวข้อง) และเสถียรภาพแบบ B (Butcher, 1975) สำหรับวิธีการ Runge–Kutta วิธีการ Runge–Kutta ที่นำไปใช้กับระบบไม่เชิงเส้นy ′ = เอฟ ( y ) {\displaystyle y'=f(y)} ซึ่งเป็นการตรวจสอบยืนยัน⟨ เอฟ ( y ) − เอฟ ( z ) , y − z ⟩ ≤ 0 {\displaystyle \langle f(y)-f(z),\ y-z\rangle \leq 0} เรียกว่าB-stable ถ้าเงื่อนไขนี้หมายความว่า‖ y n + 1 − z n + 1 ‖ ≤ ‖ y n − z n ‖ {\displaystyle \|y_{n+1}-z_{n+1}\|\leq \|y_{n}-z_{n}\|} สำหรับสองวิธีแก้ปัญหาเชิงตัวเลข
อนุญาตบี {\displaystyle B} ,เอ็ม {\displaystyle M} และคิว {\displaystyle Q} เป็นสามส × ส {\displaystyle s\times s} เมทริกซ์ที่กำหนดโดย บี = ไดอะก์ ( ข 1 , ข 2 , … , ข ส ) , เอ็ม = บี เอ + เอ ที บี − ข ข ที , คิว = บี เอ − 1 + เอ − ที บี − เอ − ที ข ข ที เอ − 1 . {\displaystyle {\begin{aligned}B&=\operatorname {diag} (b_{1},b_{2},\ldots ,b_{s}),\\[4pt]M&=BA+A^{T}B-bb^{T},\\[4pt]Q&=BA^{-1}+A^{-T}B-A^{-T}bb^{T}A^{-1}.\end{aligned}}} กล่าวกันว่าวิธี Runge–Kutta มีเสถียรภาพทางพีชคณิต [ 38 ] หากเมทริกซ์บี {\displaystyle B} และเอ็ม {\displaystyle M} ทั้งสองเป็นค่าบวกที่ไม่เป็นลบแน่นอน เงื่อนไขที่เพียงพอสำหรับความเสถียรของ B [ 39 ] คือ:บี {\displaystyle B} และคิว {\displaystyle Q} เป็นเมทริกซ์บวกแน่นอนที่ไม่เป็นลบ
การหาที่มาของวิธีรันเกอ-คุตตะลำดับที่สี่โดยทั่วไป วิธี Runge–Kutta ลำดับส {\displaystyle s} สามารถเขียนได้ดังนี้:
y ที + ชม. = y ที + ชม. ⋅ ∑ ฉัน = 1 ส เอ ฉัน เค ฉัน + โอ ( ชม. ส + 1 ) , {\displaystyle y_{t+h}=y_{t}+h\cdot \sum _{i=1}^{s}a_{i}k_{i}+{\mathcal {O}}(h^{s+1}),} ที่ไหน:
เค ฉัน = ∑ เจ = 1 ส เบต้า ฉัน เจ เอฟ ( เค เจ , ที n + α ฉัน ชม. ) {\displaystyle k_{i}=\sum _{j=1}^{s}\beta _{ij}f(k_{j},\ t_{n}+\alpha _{i}h)} คือค่าเพิ่มขึ้นที่ได้จากการประเมินอนุพันธ์ของy ที {\displaystyle y_{t}} ที่ฉัน {\displaystyle i} ลำดับที่ -
เราพัฒนาการคำนวณ[ 40 ] สำหรับวิธีการ Runge–Kutta อันดับสี่โดยใช้สูตรทั่วไปด้วยส = 4 {\displaystyle s=4} ประเมินผลตามที่อธิบายไว้ข้างต้น ณ จุดเริ่มต้น จุดกึ่งกลาง และจุดสิ้นสุดของช่วงเวลาใดๆ( ที , ที + ชม. ) {\displaystyle (t,\ t+h)} ดังนั้น เราจึงเลือก:
α ฉัน เบต้า ฉัน เจ α 1 = 0 เบต้า 21 = 1 2 α 2 = 1 2 เบต้า 32 = 1 2 α 3 = 1 2 เบต้า 43 = 1 α 4 = 1 {\displaystyle {\begin{aligned}&\alpha _{i}&&\beta _{ij}\\\alpha _{1}&=0&\beta _{21}&={\frac {1}{2}}\\\alpha _{2}&={\frac {1}{2}}&\beta _{32}&={\frac {1}{2}}\\\alpha _{3}&={\frac {1}{2}}&\beta _{43}&=1\\\alpha _{4}&=1&&\\\end{aligned}}} และเบต้า ฉัน เจ = 0 {\displaystyle \beta _{ij}=0} มิฉะนั้น เราจะเริ่มต้นด้วยการกำหนดปริมาณต่อไปนี้:
y ที + ชม. 1 = y ที + ชม. เอฟ ( y ที , ที ) y ที + ชม. 2 = y ที + ชม. เอฟ ( y ที + ชม. / 2 1 , ที + ชม. 2 ) y ที + ชม. 3 = y ที + ชม. เอฟ ( y ที + ชม. / 2 2 , ที + ชม. 2 ) {\displaystyle {\begin{aligned}y_{t+h}^{1}&=y_{t}+hf\left(y_{t},\ t\right)\\y_{t+h}^{2}&=y_{t}+hf\left(y_{t+h/2}^{1},\ t+{\frac {h}{2}}\right)\\y_{t+h}^{3}&=y_{t}+hf\left(y_{t+h/2}^{2},\ t+{\frac {h}{2}}\right)\end{aligned}}} ที่ไหนy ที + ชม. / 2 1 = y ที + y ที + ชม. 1 2 {\displaystyle y_{t+h/2}^{1}={\dfrac {y_{t}+y_{t+h}^{1}}{2}}} และy ที + ชม. / 2 2 = y ที + y ที + ชม. 2 2 . {\displaystyle y_{t+h/2}^{2}={\dfrac {y_{t}+y_{t+h}^{2}}{2}}.} ถ้าเรากำหนดนิยามดังนี้:
เค 1 = เอฟ ( y ที , ที ) เค 2 = เอฟ ( y ที + ชม. / 2 1 , ที + ชม. 2 ) = เอฟ ( y ที + ชม. 2 เค 1 , ที + ชม. 2 ) เค 3 = เอฟ ( y ที + ชม. / 2 2 , ที + ชม. 2 ) = เอฟ ( y ที + ชม. 2 เค 2 , ที + ชม. 2 ) เค 4 = เอฟ ( y ที + ชม. 3 , ที + ชม. ) = เอฟ ( y ที + ชม. เค 3 , ที + ชม. ) {\displaystyle {\begin{aligned}k_{1}&=f(y_{t},\ t)\\k_{2}&=f\left(y_{t+h/2}^{1},\ t+{\frac {h}{2}}\right)=f\left(y_{t}+{\frac {h}{2}}k_{1},\ t+{\frac {h}{2}}\right)\\k_{3}&=f\left(y_{t+h/2}^{2},\ t+{\frac {h}{2}}\right)=f\left(y_{t}+{\frac {h}{2}}k_{2},\ t+{\frac {h}{2}}\right)\\k_{4}&=f\left(y_{t+h}^{3},\ t+h\right)=f\left(y_{t}+hk_{3},\ t+h\right)\end{aligned}}} และสำหรับความสัมพันธ์ก่อนหน้านี้ เราสามารถแสดงให้เห็นว่าความเท่าเทียมกันต่อไปนี้เป็นจริงจนถึงโอ ( ชม. 2 ) {\displaystyle {\mathcal {O}}(h^{2})} :เค 2 = เอฟ ( y ที + ชม. / 2 1 , ที + ชม. 2 ) = เอฟ ( y ที + ชม. 2 เค 1 , ที + ชม. 2 ) = เอฟ ( y ที , ที ) + ชม. 2 ง ง ที เอฟ ( y ที , ที ) เค 3 = เอฟ ( y ที + ชม. / 2 2 , ที + ชม. 2 ) = เอฟ ( y ที + ชม. 2 เอฟ ( y ที + ชม. 2 เค 1 , ที + ชม. 2 ) , ที + ชม. 2 ) = เอฟ ( y ที , ที ) + ชม. 2 ง ง ที [ เอฟ ( y ที , ที ) + ชม. 2 ง ง ที เอฟ ( y ที , ที ) ] เค 4 = เอฟ ( y ที + ชม. 3 , ที + ชม. ) = เอฟ ( y ที + ชม. เอฟ ( y ที + ชม. 2 เค 2 , ที + ชม. 2 ) , ที + ชม. ) = เอฟ ( y ที + ชม. เอฟ ( y ที + ชม. 2 เอฟ ( y ที + ชม. 2 เอฟ ( y ที , ที ) , ที + ชม. 2 ) , ที + ชม. 2 ) , ที + ชม. ) = เอฟ ( y ที , ที ) + ชม. ง ง ที [ เอฟ ( y ที , ที ) + ชม. 2 ง ง ที [ เอฟ ( y ที , ที ) + ชม. 2 ง ง ที เอฟ ( y ที , ที ) ] ] {\displaystyle {\begin{aligned}k_{2}&=f\left(y_{t+h/2}^{1},\ t+{\frac {h}{2}}\right)=f\left(y_{t}+{\frac {h}{2}}k_{1},\ t+{\frac {h}{2}}\right)\\&=f\left(y_{t},\ t\right)+{\frac {h}{2}}{\frac {d}{dt}}f\left(y_{t},\ t\right)\\k_{3}&=f\left(y_{t+h/2}^{2},\ t+{\frac {h}{2}}\right)=f\left(y_{t}+{\frac {h}{2}}f\left(y_{t}+{\frac {h}{2}}k_{1},\ t+{\frac {h}{2}}\right),\ t+{\frac {h}{2}}\right)\\&=f\left(y_{t},\ t\right)+{\frac {h}{2}}{\frac {d}{dt}}\left[f\left(y_{t},\ t\right)+{\frac {h}{2}}{\frac {d}{dt}}f\left(y_{t},\ t\right)\right]\\k_{4}&=f\left(y_{t+h}^{3},\ t+h\right)=f\left(y_{t}+hf\left(y_{t}+{\frac {h}{2}}k_{2},\ t+{\frac {h}{2}}\right),\ t+h\right)\\&=f\left(y_{t}+hf\left(y_{t}+{\frac {h}{2}}f\left(y_{t}+{\frac {h}{2}}f\left(y_{t},\ t\right),\ t+{\frac {h}{2}}\right),\ t+{\frac {h}{2}}\right),\ t+h\right)\\&=f\left(y_{t},\ t\right)+h{\frac {d}{dt}}\left[f\left(y_{t},\ t\right)+{\frac {h}{2}}{\frac {d}{dt}}\left[f\left(y_{t},\ t\right)+{\frac {h}{2}}{\frac {d}{dt}}f\left(y_{t},\ t\right)\right]\right]\end{aligned}}} ที่ไหน:ง ง ที เอฟ ( y ที , ที ) = ∂ ∂ y เอฟ ( y ที , ที ) y ˙ ที + ∂ ∂ ที เอฟ ( y ที , ที ) = เอฟ y ( y ที , ที ) y ˙ ที + เอฟ ที ( y ที , ที ) := y ¨ ที {\displaystyle {\frac {d}{dt}}f(y_{t},\ t)={\frac {\partial }{\partial y}}f(y_{t},\ t){\dot {y}}_{t}+{\frac {\partial }{\partial t}}f(y_{t},\ t)=f_{y}(y_{t},\ t){\dot {y}}_{t}+f_{t}(y_{t},\ t):={\ddot {y}}_{t}} คืออนุพันธ์รวมของเอฟ {\displaystyle f} โดยคำนึงถึงเวลา
ถ้าเราแสดงสูตรทั่วไปโดยใช้สิ่งที่เราเพิ่งได้มา เราจะได้:y ที + ชม. = y ที + ชม. { เอ ⋅ เอฟ ( y ที , ที ) + ข ⋅ [ เอฟ ( y ที , ที ) + ชม. 2 ง ง ที เอฟ ( y ที , ที ) ] + + ค ⋅ [ เอฟ ( y ที , ที ) + ชม. 2 ง ง ที [ เอฟ ( y ที , ที ) + ชม. 2 ง ง ที เอฟ ( y ที , ที ) ] ] + + ง ⋅ [ เอฟ ( y ที , ที ) + ชม. ง ง ที [ เอฟ ( y ที , ที ) + ชม. 2 ง ง ที [ เอฟ ( y ที , ที ) + ชม. 2 ง ง ที เอฟ ( y ที , ที ) ] ] ] } + โอ ( ชม. 5 ) = y ที + เอ ⋅ ชม. เอฟ ที + ข ⋅ ชม. เอฟ ที + ข ⋅ ชม. 2 2 ง เอฟ ที ง ที + ค ⋅ ชม. เอฟ ที + ค ⋅ ชม. 2 2 ง เอฟ ที ง ที + + ค ⋅ ชม. 3 4 ง 2 เอฟ ที ง ที 2 + ง ⋅ ชม. เอฟ ที + ง ⋅ ชม. 2 ง เอฟ ที ง ที + ง ⋅ ชม. 3 2 ง 2 เอฟ ที ง ที 2 + ง ⋅ ชม. 4 4 ง 3 เอฟ ที ง ที 3 + โอ ( ชม. 5 ) {\displaystyle {\begin{aligned}y_{t+h}={}&y_{t}+h\left\lbrace a\cdot f(y_{t},\ t)+b\cdot \left[f(y_{t},\ t)+{\frac {h}{2}}{\frac {d}{dt}}f(y_{t},\ t)\right]\right.+\\&{}+c\cdot \left[f(y_{t},\ t)+{\frac {h}{2}}{\frac {d}{dt}}\left[f\left(y_{t},\ t\right)+{\frac {h}{2}}{\frac {d}{dt}}f(y_{t},\ t)\right]\right]+\\&{}+d\cdot \left[f(y_{t},\ t)+h{\frac {d}{dt}}\left[f(y_{t},\ t)+{\frac {h}{2}}{\frac {d}{dt}}\left[f(y_{t},\ t)+\left.{\frac {h}{2}}{\frac {d}{dt}}f(y_{t},\ t)\right]\right]\right]\right\rbrace +{\mathcal {O}}(h^{5})\\={}&y_{t}+a\cdot hf_{t}+b\cdot hf_{t}+b\cdot {\frac {h^{2}}{2}}{\frac {df_{t}}{dt}}+c\cdot hf_{t}+c\cdot {\frac {h^{2}}{2}}{\frac {df_{t}}{dt}}+\\&{}+c\cdot {\frac {h^{3}}{4}}{\frac {d^{2}f_{t}}{dt^{2}}}+d\cdot hf_{t}+d\cdot h^{2}{\frac {df_{t}}{dt}}+d\cdot {\frac {h^{3}}{2}}{\frac {d^{2}f_{t}}{dt^{2}}}+d\cdot {\frac {h^{4}}{4}}{\frac {d^{3}f_{t}}{dt^{3}}}+{\mathcal {O}}(h^{5})\end{aligned}}}
และเมื่อเปรียบเทียบกับอนุกรมเทย์เลอร์ ของy ที + ชม. {\displaystyle y_{t+h}} รอบๆที {\displaystyle t} :y ที + ชม. = y ที + ชม. y ˙ ที + ชม. 2 2 y ¨ ที + ชม. 3 6 y ที ( 3 ) + ชม. 4 24 y ที ( 4 ) + โอ ( ชม. 5 ) = = y ที + ชม. เอฟ ( y ที , ที ) + ชม. 2 2 ง ง ที เอฟ ( y ที , ที ) + ชม. 3 6 ง 2 ง ที 2 เอฟ ( y ที , ที ) + ชม. 4 24 ง 3 ง ที 3 เอฟ ( y ที , ที ) {\displaystyle {\begin{aligned}y_{t+h}&=y_{t}+h{\dot {y}}_{t}+{\frac {h^{2}}{2}}{\ddot {y}}_{t}+{\frac {h^{3}}{6}}y_{t}^{(3)}+{\frac {h^{4}}{24}}y_{t}^{(4)}+{\mathcal {O}}(h^{5})=\\&=y_{t}+hf(y_{t},\ t)+{\frac {h^{2}}{2}}{\frac {d}{dt}}f(y_{t},\ t)+{\frac {h^{3}}{6}}{\frac {d^{2}}{dt^{2}}}f(y_{t},\ t)+{\frac {h^{4}}{24}}{\frac {d^{3}}{dt^{3}}}f(y_{t},\ t)\end{aligned}}}
เราจึงได้ระบบข้อจำกัดเกี่ยวกับสัมประสิทธิ์ดังนี้:
{ เอ + ข + ค + ง = 1 1 2 ข + 1 2 ค + ง = 1 2 1 4 ค + 1 2 ง = 1 6 1 4 ง = 1 24 {\displaystyle {\begin{cases}&a+b+c+d=1\\[6pt]&{\frac {1}{2}}b+{\frac {1}{2}}c+d={\frac {1}{2}}\\[6pt]&{\frac {1}{4}}c+{\frac {1}{2}}d={\frac {1}{6}}\\[6pt]&{\frac {1}{4}}d={\frac {1}{24}}\end{cases}}} ซึ่งเมื่อแก้เสร็จแล้วจะได้เอ = 1 6 , ข = 1 3 , ค = 1 3 , ง = 1 6 {\displaystyle a={\frac {1}{6}},b={\frac {1}{3}},c={\frac {1}{3}},d={\frac {1}{6}}} ตามที่กล่าวไว้ข้างต้น
หมายเหตุ ↑ "วิธี Runge-Kutta" . Dictionary.com . สืบค้นเมื่อ 4 เมษายน 2021 . ↑ DEVRIES, Paul L.; HASBUN, Javier E. วิชาฟิสิกส์เชิงคำนวณเบื้องต้น ฉบับพิมพ์ครั้งที่สอง สำนักพิมพ์ Jones and Bartlett: 2011 หน้า 215 ↑ กด และคณะ 2550 , หน้า. 908 ; Süli & Mayers 2003 , หน้า. 328 1 2 Atkinson (1989 , หน้า 423) , Hairer, Nørsett & Wanner (1993 , หน้า 134) , Kaw & Kalu (2008 , §8.4) และ Stoer & Bulirsch (2002 , หน้า 476) ละเว้นปัจจัย h ในคำจำกัดความของขั้นตอน Ascher & Petzold (1998 , หน้า 81) , Butcher (2008 , หน้า 93) และ Iserles (1996 , หน้า 38) ใช้ ค่า y เป็นขั้นตอน 1 2 Süli & Mayers 2003 , หน้า. 328 ↑ Press et al. 2007 , หน้า 907 ↑ อิแซร์เลส 1996 หน้า 38 1 2 อิเซอร์เลส 1996 หน้า 39 ↑ เพื่อเป็นตัวอย่างค้าน ลองพิจารณาแผนการรันเก-คุตตะ 2 ขั้นตอนแบบชัดเจนใดๆ ก็ได้ที่มีข 1 = ข 2 = 1 / 2 {\displaystyle b_{1}=b_{2}=1/2} และค 1 {\displaystyle c_{1}} และเอ 21 {\displaystyle a_{21}} เลือกแบบสุ่ม วิธีนี้มีความสอดคล้องและ (โดยทั่วไป) ลู่เข้าในลำดับที่หนึ่ง ในทางกลับกัน วิธี 1 ขั้นตอนด้วยข 1 = 1 / 2 {\displaystyle b_{1}=1/2} ไม่สอดคล้องกันและไม่สามารถบรรจบกันได้ แม้ว่าจะถือว่าชัดเจนก็ตาม∑ เจ = 1 ฉัน − 1 เอ ฉัน เจ = ค ฉัน สำหรับ ฉัน = 2 , … , ส . {\displaystyle \sum _{j=1}^{i-1}a_{ij}=c_{i}{\text{ for }}i=2,\ldots ,s.} . ↑ บุตเชอร์ 2008 หน้า 187 1 2 3 บุตเชอร์ 1965 หน้า 408 1 2 คน ขายเนื้อ 1985 ↑ Butcher 2008 , หน้า 187–196 ↑ คนขายเนื้อ 1964 ↑ เคอร์ติส 1970 หน้า 268 ↑ แฮร์เออร์, นอร์เซตต์แอนด์ วันเนอร์ 1993 , หน้า 1. 179 ↑ บุตเชอร์ 1996 หน้า 247 1 2 Süli & Mayers 2003 , หน้า. 352 ↑ Hairer, Nørsett & Wanner (1993 , p. 138) อ้างถึง Kutta (1901 ) ↑ ซูลีและ เมเยอร์ส 2003 , หน้า. 327 ↑ ซูลีและ เมเยอร์ส 2003 , หน้า 349–351 ↑ ไอแซร์ลส์ 1996 , หน้า. 41 ; Süli & Mayers 2003 , หน้า 351–352 ↑ บุตเชอร์ 2008 หน้า 94 1 2 Süli & Mayers 2003 , หน้า. 353 ↑ อิแซร์เลส 1996 หน้า 43–44 ↑ อิแซร์เลส 1996 หน้า 47 ↑ แฮร์เออร์แอนด์ วันเนอร์ 1996 , หน้า 40–41 ↑ แฮร์เออร์แอนด์ แวนเนอร์ 1996 , หน้า. 40 1 2 อิเซอร์เลส 1996 หน้า 60 ↑ อิแซร์เลส 1996 หน้า 62–63 ↑ อิแซร์เลส 1996 หน้า 63 ↑ ผลลัพธ์นี้เป็นผลงานของ Dahlquist (1963 ) ↑ แลมเบิร์ต 1991 หน้า 278 ↑ Dormand, JR; Prince, PJ (ตุลาคม 1978). "อัลกอริทึม Runge–Kutta ใหม่สำหรับการจำลองเชิงตัวเลขในดาราศาสตร์พลศาสตร์" กลศาสตร์ ท้องฟ้า 18 (3): 223– 232. Bibcode : 1978CeMec..18..223D . doi : 10.1007/BF01230162 . S2CID 120974351 . ↑ Fehlberg, E. (ตุลาคม 1974). สูตร Runge–Kutta–Nyström อันดับเจ็ด หก และห้าแบบคลาสสิกพร้อมการควบคุมขนาดขั้นตอนสำหรับสมการเชิงอนุพันธ์อันดับสองทั่วไป (รายงาน) (NASA TR R-432 ed.). ศูนย์การบินอวกาศมาร์แชลล์, อลาบามา: องค์การบริหารการบินและอวกาศแห่งชาติ ↑ บุตเชอร์ 2008 หน้า 94 ↑ Qin, Meng-Zhao; Zhu, Wen-Jie (1991-01-01). "วิธีการ Runge-Kutta-Nyström (RKN) แบบแคนอนิกสำหรับสมการเชิงอนุพันธ์สามัญอันดับสอง" Computers & Mathematics with Applications . 22 (9): 85– 95. doi : 10.1016/0898-1221(91)90209-M . ISSN 0898-1221 . ↑ แลมเบิร์ต 1991 หน้า 275 ↑ แลมเบิร์ต 1991 หน้า 274 ↑ Lyu, Ling-Hsiao (สิงหาคม 2016). "ภาคผนวก C. การหาที่มาของสูตรการอินทิเกรตเชิงตัวเลข" (PDF) . การจำลองเชิงตัวเลขของพลาสมาในอวกาศ (I) เอกสารประกอบการบรรยาย . สถาบันวิทยาศาสตร์อวกาศ มหาวิทยาลัยแห่งชาติกลาง . สืบค้นเมื่อ 17 เมษายน 2022 .
ลิงก์ภายนอก "วิธี Runge-Kutta" , สารานุกรมคณิตศาสตร์ , EMS Press , 2001 [1994] วิธีลำดับที่ 4 รุงเกะ-คุตตะ การใช้งานไลบรารีส่วนประกอบ Tracker ใน Matlab — นำเสนออัลกอริทึม Runge-Kutta แบบฝังตัว 32 แบบRungeKStep, อัลกอริทึม Runge-Kutta Nyström แบบฝังตัว 24 แบบRungeKNystroemSStepและอัลกอริทึม Runge-Kutta Nyström ทั่วไป 4 RungeKNystroemGStepแบบ