Метод Адамса

Материал из testwiki
Перейти к навигации Перейти к поиску

Ме́тод А́дамса — конечноразностный многошаговый метод численного интегрирования обыкновенных дифференциальных уравнений первого порядка. В отличие от метода Рунге-Кутты использует для вычисления очередного значения искомого решения не одно, а несколько значений, которые уже вычислены в предыдущих точках.

Назван по имени предложившего его в 1855 году английского астронома Джона К. Адамса.

Определение

Пусть дана система дифференциальных уравнений первого порядка

y=f(x,y)
y(x0)=y0,

для которой надо найти решение на сетке с постоянным шагом xnx0=nh. Расчётные формулы метода Адамса для решения этой системы имеют вид:[1]

a) экстраполяционные — метод Адамса-Башфорта

yn+1=yn+hλ=0kuλf(xnλ,ynλ),


б) интерполяционные или неявные — метод Адамса-Мультона

yn+1=yn+hλ=1k1vλf(xnλ,ynλ),

где uλ,vλ — некоторые вычисляемые постоянные.

При одном и том же k формула б) точнее[2], но требует решения нелинейной системы уравнений для нахождения значения yn+1. На практике находят приближение из а), а затем приводят одно или несколько уточнений по формуле

yn+1(i+1)=yn+hλ=0k1vλf(xnλ,ynλ)+hv1f(xn+1,yn+1(i)).

Свойства

Методы Адамса k-го порядка требуют предварительного вычисления решения в k начальных точках. Для вычисления начальных значений обычно используют одношаговые методы, например, 4-стадийный метод Рунге — Кутты 4-го порядка точности.

Локальная погрешность методов Адамса k-го порядка — O(hk). Структура погрешности метода Адамса такова, что погрешность остаётся ограниченной или растёт очень медленно в случае асимптотически устойчивых решений уравнения. Это позволяет использовать этот метод для отыскания устойчивых периодических решений, в частности, для расчёта движения небесных тел.

Методы Адамса — Мультона

Неявные методы Адамса — Мультона[3]

yn=yn1+hf(tn,yn), (неявный метод Эйлера)
yn+1=yn+12h(f(tn+1,yn+1)+f(tn,yn)),yn+2=yn+1+h(512f(tn+2,yn+2)+23f(tn+1,yn+1)112f(tn,yn)),yn+3=yn+2+h(38f(tn+3,yn+3)+1924f(tn+2,yn+2)524f(tn+1,yn+1)+124f(tn,yn)),yn+4=yn+3+h(251720f(tn+4,yn+4)+646720f(tn+3,yn+3)264720f(tn+2,yn+2)+106720f(tn+1,yn+1)19720f(tn,yn)).

Примечания

Шаблон:Примечания

Библиография

Шаблон:Rq Шаблон:Метод конечных разностей

  1. Шаблон:Книга
  2. Интерполяция точнее экстраполяции.
  3. Шаблон:Citation