Метод Адамса: відмінності між версіями

[неперевірена версія][неперевірена версія]
Вилучено вміст Додано вміст
Ickis (обговорення | внесок)
мНемає опису редагування
нормальні формули, категоризація, інтервікі
Рядок 1:
'''Метод Адамса''' — різницевий метод чисельного інтегрування звичайних [[Диференційні рівняння|диференійних рівнянь]], який дозволяє обчислювати таблицю наближених значень розв'язку в початкових точках.
== Метод Адамса ==
 
В однокрокових методах для обчислення значения у<sub>п+1</sub> використовується значения тільки у<sub>n</sub> і для підвищення точності при фіксованому кроці необхідно проводити обчислення все більшої кількості допоміжних величин. Це є причиною того, що для багатьох задач застосування [[формули Рунге-Кутта|формул Рунге-Кутта]] є неможливим внаслідок великих втрат комп'ютерного часу. Тому частіше більш раціонально переходити до багатокрокових методів, які дають можливість, використовуючи значения f(x<sub>i</sub>,y<sub>i</sub>), що обчислені на попередніх кроках, отримати прийнятну точність.
 
Серед k-крокових методів найбільш часто використовуються методи інтегрування на сітці з постійним кроком, які називаються кінцево-різницевими схемами. Розглянемо ЗДР '''(1)''' [[Файл:Metod_adamsa_1.jpg]]<math> \int\limits_D f(\vec x) d\vec x \approx \sum_{i=1}^N \omega_i f (\vec x^i)</math>
В однокрокових методах для обчислення значения у<sub>п+1</sub> використовується значения тільки у<sub>n</sub> і для підвищення точності при фіксованому кроці необхідно проводити обчислення все більшої кількості допоміжних величин. Це є причиною того, що для багатьох задач застосування формул Рунге-Кутта є неможливим внаслідок великих втрат комп'ютерного часу. Тому частіше більш раціонально переходити до багатокрокових методів, які дають можливість, використовуючи значения f(x<sub>i</sub>,y<sub>i</sub>), що обчислені на попередніх кроках, отримати прийнятну точність.
Серед k-крокових методів найбільш часто використовуються методи інтегрування на сітці з постійним кроком, які називаються кінцево-різницевими схемами. Розглянемо ЗДР '''(1)''' [[Файл:Metod_adamsa_1.jpg]]
 
Припустимо, що вже відомі розв'язки на множині значень Х<sub>i</sub> (і=0,1,. . .,п). Тобто можна записати рівняння '''(2)''':
 
:<math> y (x_{n+1}) = y_n + \int_{x_n}^{x_{n+1}} f(t, y(t)) dt</math>
[[Файл:Metod_adamsa_2.jpg]]
 
При обчисленні інтеграла в правій частині цього виразу підінтегральну функцію замінимо на інтерполяційний поліном Ньютона для інтерполяції назад [[Файл:Metod_adamsa_8<math>P_{n-1} (x)=f(x_n)+f(x_{n-1};x_n)(x-x_n)+.jpg]]..+f(x_1;...;x_n)(x-x_n)...(x-x_1)</math> на сітці х<sub>п</sub>, x<sub>n-1</sub>, x<sub>n-2</sub> ,...
 
При цьому
[[Файл:Metod_adamsa_3<math>f(x,y) \equiv f(x) = a_0+a_1(x-x_n)+a_2(x-x_n)(x-x_{n-1})+.jpg]]..+a_m(x-x_n)...(x-x_{n-m+1})+R_m(x)</math> де [[Файл:Metod_adamsa_4.jpg]]<math>a_k=\frac{\nabla^k f_n}{k! h^k}</math> і R<sub>m</sub>(x) - похибка інтерполяції, яка i буде визначати похибку
отриманих нижче формул. Нагадаємо, що [[Файл:Metod_adamsa_9.jpg]]<math>\nabla^k f_n</math> - кінцеві ліві різниці k-го порядку функції f(x,y) в точці х<sub>п</sub>. Підставивши в '''(2)''' праву частину '''(1)''' і знехтувавши оцінкою похибки, отримаємо
 
:<math>\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</math>
[[Файл:Metod_adamsa_5.jpg]]
 
Обрахуємо декілька перших інтегралів:
 
:<math>k=0, \int_{x_n}^{x_{n+1}} dt = h</math>
[[Файл:Metod_adamsa_6.jpg]]
:<math>k=1, \int_{x_n}^{x_{n+1}}(t-x_n) dt = \frac{h^2}{2}</math>
:<math>k=2, \int_{x_n}^{x_{n+1}}(t-x_n)(t-x_{n-1}) dt = \frac{5}{6}h^3</math>
 
У результаті отримаємо '''формулу Адамса'''
 
:<math>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+...]</math>
[[Файл:Metod_adamsa_7.jpg]]
 
де порядок точності методу збігається з кількістю доданків у квадратних дужках.
На практиці, для користування цією формулою залежно від порядку точності, необхідно знати певну кількість значень f<sub>i</sub> (а значить і y<sub>i</sub>) у вузлах Х<sub>i</sub>. Тому для "розгону" звичайно використовують однокроковий метод (наприклад Рунге-Кутта) для знаходження у<sub>і</sub> в декількох початкових точках поблизу x<sub>0</sub>, а потім переходять до формули Адамса.
 
===Джерела===
 
===Джерела===
* [http://www.phys.univ.kiev.ua/theory/pdf/rparmain.pdf Єжов С.М. Методи обчислень]
 
[[Категорія:Чисельні методи]]
 
[[de:Mehrschrittverfahren]]
[[en:Linear multistep method]]
== [[ru:Метод Адамса ==]]