Рассмотрим дифференциальное уравнение первого порядка:
(27.1)
Требуется найти решение на интервале [x0,xn], удовлетворяющее начальному условию y(x0)=y0.
Для приближённого решения дифференциального уравнения (27.1) интервал [x0,xn] разбивается на n частей с шагом h:
xi+1=xi+h, i=0,1,2,…,n-1 (27.2)
В полученных точках вычисляются значения yi.
Метод Эйлера. Согласно методу Эйлера значения yi определяются по формуле:
yi+1=yi+h×f(xi,yi) (27.3)
Алгоритм метода Эйлера
1. Ввод n, конечного значения xn, начального значения x0 (в переменную x ), ввод y0 (в переменную y ).
2. Вычисление h= , x=x0, y=y0.
3. Вывод x, y.
4. Вычисление y=y+h×f(x,y), x=x+h.
5. Если x>xn, то переход к 6, иначе – переход к пункту 3.
6. Конец вычислений.
Для получения достоверных результатов значение h должно быть достаточно мало, при этом можно не выводить все получающиеся значения x и y. Целесообразно внести изменения в алгоритм программы так, чтобы вычисления проводились с малым шагом, а вывод результатов − с большим.
Метод Рунге-Кутта. Расчетные формулы метода Рунге-Кутта четвертого порядка имеют вид:
k1=h×f(xi,yi)
k2=h×f(xi+ , yi+ )
k3=h×f(xi+ , yi+ )
k4=h×f(xi+h, yi+k3)
yi+1=yi+ ×(k1+2×k2+2×k3+k4) (27.4)
xi+1=xi+h, i=0,1,2,…, n-1
Для разработки программы, реализующей метод Рунге-Кутта можно использовать тот же алгоритм, что и для метода Эйлера, внеся в него соответствующие изменения.