Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Линейные многошаговые методы

1,386 views

Published on

Published in: Education
  • Be the first to comment

Линейные многошаговые методы

  1. 1. Методы вычислений Линейные многошаговые методы Кафедра теоретической механики Талипова А.А.Самарский государственный аэрокосмический университет им. академика С. П. Королёва (национальный исследовательский университет) 27 декабря 2012 г.
  2. 2. Содержание1 Многошаговые методы Адамса2 Экстраполяционные методы Адамса - Башфорта3 Интерполяционные методы Адамса - Моултона4 Методы прогноза и коррекции5 Метод Милна четвертого порядка6 Источники Кафедра ТМ (СГАУ) Методы вычислений 27 декабря 2012 г. 2 / 24
  3. 3. Линейные многошаговые методыМногошаговые методы АдамсаРассмотрим численные методы решения начальной задачи y = f (x, y), x ∈ [x0 , b], (1) y(x0 ) = y0 . (2)Для вычисления значения yi+1 ≈ y(xi+1 ) воспользуемсяинтегроинтерполяционным подходом. Проинтегрируем левую и правуючасть уравнения (1) на промежутке [xi , xi+1 ] xi+1 y(xi+1 ) = y(xi ) + f (x, y(x))dx (3) xiВместо функции f (x, y(x)) подставим интерполирующий многочленPk (x). Дополняя известные значения f (xj , yj ) ≈ f (xj , y(xj )) пока чтонеизвестным значением fi+1 := f (xi+1 , yi+1 ), можно построитьтаблицу конечных разностей Кафедра ТМ (СГАУ) Методы вычислений 27 декабря 2012 г. 3 / 24
  4. 4. Линейные многошаговые методы Таблица конечных разностей xj yj ∆fj ∆2 fj ∆3 fj ... ∆k fj xi−k fi−k ∆fi−kxi−k+1 fi−k+1 ∆2 fi−k ∆fi−k+1 ∆3 fi−kxi−k+2 fi−k+2 ∆2 fi−k+1 ∆fi−k+2xi−k+3 fi−k+3 ... ... ... ... ... ... ∆k fi−k xi−2 fi−2 ∆k fi−k+1 ∆fi−2 xi−1 fi−1 ∆2 fi−2 ∆fi−1 ∆3 fi−2 xi fi ∆2 fi−1 ∆fi xi+1 fi+1Кафедра ТМ (СГАУ) Методы вычислений 27 декабря 2012 г. 4 / 24
  5. 5. Линейные многошаговые методыПри интерполировании назад из узла xi по второй интерполяционнойформуле Ньютонаf (x) ≈ Pn (xn + qh) = yn + q∆yn−1 + q(q+1) ∆2 yn−2 + ... 2! q(q + 1)...(q + n − 1) n ... + ∆ y0 n!имеем q(q + 1) 2 Pk (x) = Pk (xi + qh) = fi + q∆fi−1 + ∆ fi−2 + 2! q(q + 1)(q + 2) 3 q(q + 1)...(q + k − 1) k + ∆ fi−3 + ... + ∆ fi−k 3! k!а из узла xi+1 получаем многочлен ˜ ˜ q(q + 1) 2 Pk (x) = Pk (xi+1 + qh) = fi+1 + q∆fi + ∆ fi−1 + 2! q(q + 1)(q + 2) 3 q(q + 1)...(q + k − 1) k + ∆ fi−2 + ... + ∆ fi−k+1 3! k! Кафедра ТМ (СГАУ) Методы вычислений 27 декабря 2012 г. 5 / 24
  6. 6. Линейные многошаговые методы ˜Постановка многочленов Pk (x) и Pk (x) в равенство (3) приводит кформулам для вычисления очередного значения yi+1 ≈ y(xi+1 ) вида xi+1 yi+1 = yi + Pk (x)dx (4) xi xi+1 yi+1 = yi + ˜ Pk (x)dx (5) xiВ результате применения к интегралам в (4) и (5) формулыНьютона-Лейбница получается два семейства методов (с параметромk ∈ N0 ), называемых многошаговыми методами Адамса. Кафедра ТМ (СГАУ) Методы вычислений 27 декабря 2012 г. 6 / 24
  7. 7. Линейные многошаговые методыЭкстраполяционные методы Адамса—Башфорта xi+1Сделаем в интеграле Pk (x)dx замену переменной x = xi + qh xi xi+1 1 Pk (x)dx = h Pk (xi + qh)dq xi 0Тогда формула (4) может быть переписана в виде yi+1 = yi + hIk , (6) Кафедра ТМ (СГАУ) Методы вычислений 27 декабря 2012 г. 7 / 24
  8. 8. Линейные многошаговые методы 1 q2 q3 q2 Ik = Pk (xi + qh)dq = [fi q + 2 ∆fi−1 + 6 + 4 ∆2 fi−2 + 0 1 q4 1 q5 3q 4 11q 3 +6 4 + q 3 + q 2 ∆3 fi−3 + 24 5 + 2 + 3 + 3q 2 ∆4 fi−4 + ...]1 = 0 1 5 3 251 4 = fi + ∆fi−1 + ∆2 fi−2 + ∆3 fi−3 + ∆ fi−4 + ... (7) 2 12 8 720На основе (6) получается конечно-разностная формула, определяющаяэкстраполяционный метод Адамса—Башфорта: 1 5 3 251 4yi+1 = yi + h fi + ∆fi−1 + ∆2 fi−2 + ∆3 fi−3 + ∆ fi−4 + ... 2 12 8 720 (8) Кафедра ТМ (СГАУ) Методы вычислений 27 декабря 2012 г. 8 / 24
  9. 9. Линейные многошаговые методыРассмотрим простые частные случаи метода Адамса—Башфорта: при k = 0 I0 = fi =⇒ yi+1 = yi + hf (xi , yi ); (9) при k = 1 1 3 1 I1 = fi + ∆fi−1 = fi − fi−1 =⇒ 2 2 2 h yi+1 = yi + [3f (xi , yi ) − f (xi−1 , yi−1 )]; (10) 2 при k = 2 5 2 23 16 5 I2 = I1 + ∆ fi−2 = fi − fi−1 + fi−2 =⇒ 12 12 12 12 h yi+1 = yi + [23f (xi , yi ) − 16f (xi − 1, yi − 1) + 5f (xi−2 , yi−2 )]; (11) 12 Кафедра ТМ (СГАУ) Методы вычислений 27 декабря 2012 г. 9 / 24
  10. 10. Линейные многошаговые методы при k = 3 3 55 59 37 9 I3 = I2 + ∆3 fi−3 = fi − fi−1 + fi−2 − fi−3 =⇒ 8 24 24 24 24 h yi+1 = yi + [55f (xi , yi ) − 59f (xi−1 , yi−1 )+ 24 +37f (xi−2 , yi−2 ) − 9f (xi−3 , yi−3 )] (12)Формулы (9)—(12) определяют методы Адамса—Башфортасоответственно первого, второго, третьего и четвертого порядка. Кафедра ТМ (СГАУ) Методы вычислений 27 декабря 2012 г. 10 / 24
  11. 11. Линейные многошаговые методыДля k + 1 раз непрерывно дифференцируемой функции шаговаяошибка может быть получена интегрированием остаточного члена f (k+1) (ξ, y(ξ)) Rk (x) = Πk+1 (x) (k + 1)!интерполяционной формулы Лагранжа. f (k+1) (ξ, y(ξ)) Rk (xi + qh) = q(q + 1)...(q + k)hk+1 , (13) (k + 1)!Функция Rx может считаться величиной O hk+1Локальная погрешность метода типа (6) составляет величину 1h Rk (xi + qh)dq = O hk+2 ,а глобальная — величину O hk+1 . 0 Кафедра ТМ (СГАУ) Методы вычислений 27 декабря 2012 г. 11 / 24
  12. 12. Линейные многошаговые методыИнтерполяционные методы Адамса — Моултона xi+1В интеграле ˜ Pk (x)dx делаем замену x = xi+1 + qh и подставляем в xi ˜него выражение для Pk (x) приходим к равенству ˜ yi+1 = yi + hIk , 0 ˜ Ik := ˜ Pk (xi+1 + qh)dq = −1 q2 q3 q2 1 q4 = fi+1 q + ∆fi + + ∆2 fi−1 + + q 3 + q 2 ∆3 fi−2 + 2 6 4 6 4 0 q 5 3q 4 11q 3 1 + + + + 3q 2 ∆4 fi−3 + ... = 24 5 2 3 −1 1 1 1 19 4 = fi+1 − ∆fi − ∆2 fi−1 − ∆3 fi−2 − ∆ fi−3 − ... (14) 2 12 24 720 Кафедра ТМ (СГАУ) Методы вычислений 27 декабря 2012 г. 12 / 24
  13. 13. Линейные многошаговые методыИз (14) следует конечноразностная формула интерполяционногометода Адамса — Моултона 1 1 yi+1 = yi + h fi+1 − ∆fi − ∆2 fi−1 − 2 12 1 19 4 − ∆3 fi−2 − ∆ fi−3 − ... . (15) 24 720Рассмотрим следующие частные формулы: при k = 0 yi+1 = yi + hf (xi+1 , yi+1 ), (16) при k = 1 h yi+1 = yi + [f (xi+1 , yi+1 ) + f (xi , yi )], (17) 2 при k = 2 h yi+1 = yi + [5f (xi+1 , yi+1 ) + 8f (xi , yi ) − f (xi−1 , yi−1 )], (18) 12 Кафедра ТМ (СГАУ) Методы вычислений 27 декабря 2012 г. 13 / 24
  14. 14. Линейные многошаговые методы при k = 3 h yi+1 = yi + [9f (xi+1 , yi+1 ) + 19f (xi , yi )− 24 − 5f (xi−1 , yi−1 ) + f (xi−2 , yi−2 )], (19)(16) и (17) определяют неявный метод Эйлера и метод трапеций, этиметоды являются одношаговыми, а (18) и (19) относятся кдвухшаговым и трехшаговым методам. Кафедра ТМ (СГАУ) Методы вычислений 27 декабря 2012 г. 14 / 24
  15. 15. Линейные многошаговые методыМетоды прогноза и коррекции zОбозначим через yi+1 приближенное значение решения y(xi+1 ),подсчитываемое по явной экстраполяционной формулеАдамса-Башфорта,составим несколько пар частных формул Адамса —Башфорта и Адамса — Моултонапервого порядка z yi+1 = yi + hf (xi , yi ), z yi+1 = yi + hf (xi+1 , yi+1 );второго порядка  y z = yi + h [3f (xi , yi ) − f (xi−1 , yi−1 )],   i+1 2 y  h z i+1 = yi + [f (xi+1 , yi+1 ) + f (xi , yi )]; 2 Кафедра ТМ (СГАУ) Методы вычислений 27 декабря 2012 г. 15 / 24
  16. 16. Линейные многошаговые методытретьего порядка  y z = yi + h [23f (xi , yi ) − 16f (xi−1 , yi−1 ) + 5f (xi−2 , yi−2 )],   i+1 12 h z [5f (xi+1 , yi+1 ) + 8f (xi , yi ) − f (xi−1 , yi−1 )]; y  i+1 = yi + 12четвертого порядка  y z = y + h [55f (x , y ) − 59f (x , y )+   i+1  i i i i−1 i−1    24     + 37f (xi−2 , yi−2 ) − 9f (xi−3 , yi−3 )], h z  yi+1 = yi + [9f (xi+1 , yi+1 ) + 19f (xi , yi )−    24 − 5f (xi−1 , yi−1 ) + f (xi−2 , yi−2 )];       Кафедра ТМ (СГАУ) Методы вычислений 27 декабря 2012 г. 16 / 24
  17. 17. Линейные многошаговые методыГлавное достоинство методов прогноза и коррекции — этовозможность контролировать шаговую погрешность. Считая, чторасчетный шаг h достаточно мал и конечные разности с ростом ихпорядка убывают, запишем два приближенных представления y(xi+1 ): z 251 y(xi+1 ) ≈ yi+1 + h∆4 fi−4 (20) 720 M 19 y(xi+1 ) ≈ yi+1 − h∆4 fi−3 (21) 720Приравнивая правые части приближенных равенств (21) и (22) иотождествляя ∆4 fi−4 с ∆4 fi−3 ,имеем: M z 19 251 3 yi+1 − yi+1 ≈ h∆4 fi−3 + h∆4 fi−4 ≈ h∆4 fi−3 720 720 8 Кафедра ТМ (СГАУ) Методы вычислений 27 декабря 2012 г. 17 / 24
  18. 18. Линейные многошаговые методыОткуда 3 M h∆4 fi−3 ≈ (yi+1 − yi+1 ) z 8подставляя последнее в (22), получаем приближенное равенство M 19 M z y(xi+1 ) ≈ yi+1 − (y − yi+1 ) 720 i+1 Кафедра ТМ (СГАУ) Методы вычислений 27 декабря 2012 г. 18 / 24
  19. 19. Линейные многошаговые методыМетод Милна четвертого порядкаДля вывода первой формулы Милна(ф-лы предсказания)проинтегрируем уравнение y = f (x, y) на промежутке [xi−3 , xi+1 ] xi+1 y(xi+1 ) = y(xi−3 ) + f (x, y(x))dx (22) xi−3функцию f (x, y(x)) заменим первым интерполяционным многочленомНьютона P3 (x), построенным по четырем узлам xi−3 , xi−2 , xi−1 , xi спредполагающимися уже известными приближенными значениями fi−3 := f (xi−3 , yi−3 ) ≈ f (xi−3 , y(xi−3 )) fi−2 := f (xi−2 , yi−2 ) ≈ f (xi−2 , y(xi−2 )) fi−1 := f (xi−1 , yi−1 ) ≈ f (xi−1 , y(xi−1 )) fi := f (xi , yi ) ≈ f (xi , y(xi )) Кафедра ТМ (СГАУ) Методы вычислений 27 декабря 2012 г. 19 / 24
  20. 20. Линейные многошаговые методыПосле замены переменной x ≈ xi−3 + qh имеем 4 4 y(xi+1 ) ≈ yi−3 + h P3 (xi−3 + qh)dq = yi−3 + h [fi−3 + q∆fi−3 + 0 0 q(q − 1) 2 q(q − 1)(q − 2) 3 + ∆ fi−3 + ∆ fi−3 ]dq = yi−3 + h× 2! 3! 4 q2 1 q3 q2 1 q4× fi−3 q + ∆fi−3 + − ∆2 fi−3 + − q 3 + q 2 ∆3 fi−3 = 2 2 3 2 6 4 0 4 2 3 = yi−3 + h(3fi−3 + 6∆fi−3 + 5∆ fi−3 + 2∆ fi−3 ). (23) 3Выразив конечные разности через значения функции, получаемпервую формулу Милна(предсказания) 4 yi+1 = yi−3 + h[2f (xi , yi ) − f (xi−1 , yi−1 ) + 2f (xi−2 , yi−2 )] ˆ (24) 3 Кафедра ТМ (СГАУ) Методы вычислений 27 декабря 2012 г. 20 / 24
  21. 21. Линейные многошаговые методыДля вывода второй формулы Милна проинтегрируем уравнениеy = f (x, y) на промежутке [xi−1 , xi+1 ] xi+1 y(xi+1 ) = y(xi−1 ) + f (x, y(x))dx xi−1применим к интегралу простейшую формулу Симпсона, имеем h y(xi+1 ) = y(xi−1 ) + [f (xi+1 , y(xi+1 )) + 4f (xi , y(xi ))+ 3 h5 + f (xi−1 , y(xi−1 ))] − f IV (ξi ) (25) 90Отбрасывая остаточный член и заменяя решения y(xi−1 ) и y(xi )известными приближенными значениями yi−1 и yi , а стоящее в правойчасти под знаком функции f неизвестное значение y(xi+1 ) темзначением yi+1 , которое получается в результате вычислений по явной ˆфоруле Милна,приходим ко второй формуле Милна (уточнения) h yi+1 = yi−1 + [f (xi+1 , yi+1 ) + 4f (xi , yi ) + f (xi−1 , yi−1 )] ˆ 3 Кафедра ТМ (СГАУ) Методы вычислений 27 декабря 2012 г. 21 / 24
  22. 22. Линейные многошаговые методыДля вывода приближенной оценки шаговой погрешности воспользуесяприближенны равенством ∆4 f f IV (ξi ) ≈ h4Исходя из точного равенства (26), локальную погрешностьприближенного значения yi+1 можно приближенно охарактеризовать hвеличиной − 90 ∆4 f , т.е. h 4 y(xi+1 ) ≈ yi+1 − ∆ f (26) 90 h 4 h yi+1 − yi+1 ˆ yi+1 − yi+1 ≈ 29 ˆ ∆ f =⇒ ∆4 f ≈ 90 90 29следовательно, yi+1 − yi+1 ˆ y(xi+1 ) − yi+1 ≈ (27) 29 Кафедра ТМ (СГАУ) Методы вычислений 27 декабря 2012 г. 22 / 24
  23. 23. Линейные многошаговые методыПримерРассмотри уравнение y = 5y с начальным условием y(0) = 1.Решим это уравнение методом прогноза и коррекции, и изобразим награфике эти решения, а также точное решение y = e5x . 1 — точное решение, 2 — прогноз, 3 — коррекция. Кафедра ТМ (СГАУ) Методы вычислений 27 декабря 2012 г. 23 / 24
  24. 24. Линейные многошаговые методыСписок использованных источников 1 Вержбицкий В.М. Численные методы (математический анализ и обыкновенные дифференциальные уравнения): Учебное пособие для вузов[текст]: В.М. Вержбицкий - М.: Высшая школа, 2004. - 382 с. 2 Волков Е.А. Численные методы[текст]: Е.А. Волков - М.: Наука, 1987. - 248 с. Кафедра ТМ (СГАУ) Методы вычислений 27 декабря 2012 г. 24 / 24

×