Метод Адамса

Матеріал з testwiki
Перейти до навігації Перейти до пошуку

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

В однокрокових методах для обчислення значення уn+1 використовується значения тільки уn і для підвищення точності при фіксованому кроці необхідно проводити обчислення великої кількості допоміжних величин. Це є причиною того, що для багатьох задач застосування формул Рунге-Кутти неможливе внаслідок надто великого обсягу обчислень. Тому часто раціональніше переходити до багатокрокових методів, які дають можливість, використовуючи значення f(xi,yi), що обчислені на попередніх кроках, отримати прийнятну точність. Серед k-крокових методів найчастіше використовують методи інтегрування на сітці з постійним кроком, які називаються скінченно-різницевими схемами. Розглянемо загальне диференційне рівняння (1)
Df(x)dxi=1Nωif(xi)

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

y(xn+1)=yn+xnxn+1f(t,y(t))dt

При обчисленні інтеграла в правій частині цього виразу підінтегральну функцію замінимо на інтерполяційний многочлен Ньютона для інтерполяції назад Pn1(x)=f(xn)+f(xn1;xn)(xxn)+...+f(x1;...;xn)(xxn)...(xx1) на сітці хп, xn-1, xn-2 ,...

При цьому f(x,y)f(x)=a0+a1(xxn)+a2(xxn)(xxn1)+...+am(xxn)...(xxnm+1)+Rm(x) де ak=kfnk!hk і Rm(x) - похибка інтерполяції, яка і буде визначати похибку отриманих нижче формул. Нагадаємо, що kfn — скінченні ліві різниці k-го порядку функції f(x,y) в точці хn. Підставивши в (2) праву частину (1) і знехтувавши оцінкою похибки, отримаємо

xnxn+1f(t,y(t))dtk=0mkfnk!hkxnxn+1(txn)...(txnk+1)dt

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

k=0,xnxn+1dt=h
k=1,xnxn+1(txn)dt=h22
k=2,xnxn+1(txn)(txn1)dt=56h3

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

yn+1=yn+h[fn+12fn+5122fn+383fn+2517204fn+...]

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

Приклади

Розглянемо такий приклад

y=y,y(0)=1.

Точним розв'язком є y(t)=et.

Однокроковий Ейлер

Простим чисельним методом є метод Ейлера:

yn+1=yn+hf(tn,yn).

Метод Ейлера можна розглядати як вироджений в однокроковий багатокроковий метод.

Цей метод, застосований з кроком розміру h=12 на проблемі y=y, дає такі висліди:

y1=y0+hf(t0,y0)=1+121=1.5,y2=y1+hf(t1,y1)=1.5+121.5=2.25,y3=y2+hf(t2,y2)=2.25+122.25=3.375,y4=y3+hf(t3,y3)=3.375+123.375=5.0625.

Двокроковий метод Адамса-Бешфорта

Метод Ейлер однокроковий. Простий багатокроковий метод це двокроковий метод Адамса-Бешфорта (Шаблон:Lang-en)

yn+2=yn+1+32hf(tn+1,yn+1)12hf(tn,yn).

Цей метод для отримання наступного значення, yn+2, потребує два значення, yn+1 і yn. Однак, задача з початковим значенням надає лише одне, y0=1. Один з підходів полягає у використанні y1 обчисленого методом Ейлера як другого значення. З таким вибором, метод Адамса-Бешфорта видає (округлено до чотирьох цифр):

y2=y1+32hf(t1,y1)12hf(t0,y0)=1.5+32121.512121=2.375,y3=y2+32hf(t2,y2)12hf(t1,y1)=2.375+32122.37512121.5=3.7812,y4=y3+32hf(t3,y3)12hf(t2,y2)=3.7812+32123.781212122.375=6.0234.

Точний розв'язок при t=t4=2 є e2=7.3891, отже двокроковий метод Адамса-Бешфорта точніший ніж метод Ейлера. Це завжди виконується якщо крок достатньо малий.

Див. також

Джерела