Решение уравнений первого порядка

Рассмотрим дифференциальное уравнение первого порядка:

(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

Для разработки программы, реализующей метод Рунге-Кутта можно использовать тот же алгоритм, что и для метода Эйлера, внеся в него соответствующие изменения.