Метод Адамса

Матеріал з Вікіпедії — вільної енциклопедії.
Перейти до: навігація, пошук

Метод Адамса — група методів чисельного інтегрування звичайних диференційних рівнянь, які дозволяють обчислювати таблицю наближених значень розв'язку за даними в початкових точках.

В однокрокових методах для обчислення значения уn+1 використовується значения тільки уn і для підвищення точності при фіксованому кроці необхідно проводити обчислення великої кількості допоміжних величин. Це є причиною того, що для багатьох задач застосування формул Рунге-Кутти неможливе внаслідок надто великого обсягу обчислень. Тому часто раціональніше переходити до багатокрокових методів, які дають можливість, використовуючи значення f(xi,yi), що обчислені на попередніх кроках, отримати прийнятну точність. Серед k-крокових методів найчастіше використовують методи інтегрування на сітці з постійним кроком, які називаються скінченно-різницевими схемами. Розглянемо загальне диференційне рівняння (1)
 \int\limits_D f(\vec x) d\vec x \approx \sum_{i=1}^N \omega_i f (\vec x^i)

Припустимо, що вже відомі розв'язки на множині значень Хi (і=0,1,. . .,п). Тобто можна записати рівняння (2):

 y (x_{n+1}) = y_n + \int_{x_n}^{x_{n+1}} f(t, y(t)) dt

При обчисленні інтеграла в правій частині цього виразу підінтегральну функцію замінимо на інтерполяційний многочлен Ньютона для інтерполяції назад P_{n-1} (x)=f(x_n)+f(x_{n-1};x_n)(x-x_n)+...+f(x_1;...;x_n)(x-x_n)...(x-x_1) на сітці хп, xn-1, xn-2 ,...

При цьому f(x,y) \equiv f(x) = a_0+a_1(x-x_n)+a_2(x-x_n)(x-x_{n-1})+...+a_m(x-x_n)...(x-x_{n-m+1})+R_m(x) де a_k=\frac{\nabla^k f_n}{k! h^k} і Rm(x) - похибка інтерполяції, яка i буде визначати похибку отриманих нижче формул. Нагадаємо, що \nabla^k f_n — скінченні ліві різниці k-го порядку функції f(x,y) в точці хn. Підставивши в (2) праву частину (1) і знехтувавши оцінкою похибки, отримаємо

\int_{x_n}^{x_{n+1}} f(t, y(t)) dt \approx \sum_{k=0}^m \frac{\nabla^k f_n}{k! h^k} \int_{x_n}^{x_{n+1}} (t-x_n)...(t-x_{n-k+1}) dt

Обрахуємо декілька перших інтегралів:

k=0, \int_{x_n}^{x_{n+1}} dt = h
k=1, \int_{x_n}^{x_{n+1}}(t-x_n) dt = \frac{h^2}{2}
k=2, \int_{x_n}^{x_{n+1}}(t-x_n)(t-x_{n-1}) dt = \frac{5}{6}h^3

У результаті отримаємо формулу Адамса

y_{n+1}=y_n+h[f_n+\frac{1}{2} \nabla f_n+\frac{5}{12} \nabla^2 f_n+\frac{3}{8} \nabla^3 f_n+\frac{251}{720} \nabla^4 f_n+...]

де порядок точності методу збігається з кількістю доданків у квадратних дужках. На практиці, для користування цією формулою залежно від порядку точності, необхідно знати відповідну початкову послідовність значень fi (а значить і yi) у вузлах Хi. Для їх обчислення зазвичай використовують однокроковий метод (наприклад Рунге-Кутти) в початкових точках поблизу x0, а потім переходять до використання формули Адамса.

Джерела [ред.]