RK4 - Klasik Dördüncü Mertebe:
En yaygın kullanılan sayısal yöntemlerden biri. Doğruluk ve verimlilik dengesinde mükemmeldir.
$k_2 = hf(x_n + \frac{h}{2}, y_n + \frac{k_1}{2})$
$k_3 = hf(x_n + \frac{h}{2}, y_n + \frac{k_2}{2})$
$k_4 = hf(x_n + h, y_n + k_3)$
$y_{n+1} = y_n + \frac{1}{6}(k_1 + 2k_2 + 2k_3 + k_4)$
RK4 Özellikleri:
• Lokal hata: O(h⁵)
• Global hata: O(h⁴)
• 4 fonksiyon değerlendirmesi gerekir
• Türev hesabı gerekmez
• Çoğu pratik problem için yeterlidir
def rk4(f, x0, y0, h, n):
x, y = [x0], [y0]
for i in range(n):
k1 = h * f(x[-1], y[-1])
k2 = h * f(x[-1] + h/2, y[-1] + k1/2)
k3 = h * f(x[-1] + h/2, y[-1] + k2/2)
k4 = h * f(x[-1] + h, y[-1] + k3)
y_new = y[-1] + (k1 + 2*k2 + 2*k3 + k4)/6
x.append(x[-1] + h)
y.append(y_new)
return x, y
RK5 ve Daha Yüksek:
RK5 (Butcher): 6 fonksiyon değerlendirmesi, O(h⁶) lokal hata
RK6: 7 fonksiyon değerlendirmesi, O(h⁷) lokal hata
RK8: 11 fonksiyon değerlendirmesi, yüksek hassasiyet
Dikkat: Mertebe arttıkça hesaplama maliyeti artar ama her zaman daha iyi sonuç vermeyebilir. Pratik uygulamalarda RK4 genelde yeterlidir.
Adaptif Adım Boyutu (RKF45):
Runge-Kutta-Fehlberg metodu, hatayı tahmin ederek adım boyutunu otomatik ayarlar.
Fikir: Hem 4. hem 5. mertebe çözüm hesapla, farkı kullanarak hatayı tahmin et:
$\epsilon = |y_5 - y_4|$
Eğer ε > tolerans ise: h'yi küçült
Eğer ε << tolerans ise: h'yi büyült
Modern Yaklaşım: Profesyonel yazılımlar (MATLAB ode45, SciPy solve_ivp) adaptif RK metotları kullanır. Kullanıcı sadece toleransı belirtir, algoritma adım boyutunu optimize eder.