Дискуссионный математический форумМатематический форум

Математический форум Math Help Planet

Обсуждение и решение задач по математике, физике, химии, экономике

Теоретический раздел
Часовой пояс: UTC + 4 часа [ Летнее время ]
MathHelpPlanet.com RSS-лента Математического форума

Часовой пояс: UTC + 4 часа [ Летнее время ]


Экстраполяционные методы решения задачи Коши

Экстраполяционные методы решения задачи Коши


Методы предсказания можно рассматривать как методы экстраполяции, где [math]\widehat{y}_{i+1}[/math] экстраполируется по известным предыдущим значениям. Здесь представлены другие экстраполяционные методы.


Процедура нахождения очередной рассчитываемой точки [math](x_{i+1}, \widehat{y}_{i+1})[/math] состоит из двух этапов.


Первый этап. Получение последовательности решений в точке [math]x=x_{i+1}[/math] с использованием некоторой стратегии уменьшения шага.


Второй этап. Уточнение численного решения на основе процедур полиномиальной или рациональной экстраполяции.


Способы реализации первого этапа. При решении конкретной задачи Коши следует задать число [math]M[/math], определяемое максимальным допустимым порядком экстраполяции, осуществляемой на втором этапе.


Рассмотрим процедуру интегрирования дифференциального уравнения (6.9) на двухточечном шаблоне [math](x_{i}, x_{i+1})[/math] с длиной шага [math]h[/math], называемого базовым.


Определим последовательность чисел [math]N_0,N_1,\ldots,N_M[/math], задающую количество частичных отрезков, располагающихся на промежутке [math][x_{i},x_{i+1}]\colon[/math]


[math]N_M> N_{M-1}> \ldots>N_r> \ldots>N_1>N_0\quad (0 \leqslant r \leqslant M),[/math]
(6.70)

и соответствующую последовательность значений шага [math]h_0,h_1,\ldots,h_r,\ldots, h_M\colon[/math]


[math]h_r=\frac{h}{N_r},\quad r=0,1,\ldots,M.[/math]
(6.71)

Разными авторами рекомендуются такие последовательности [math]N_0,N_1,\ldots,N_M[/math]


– Дойфлхардом: [math]\{2,4,6,8,10,12,14,16,18,20,\ldots\}[/math] или [math]\{1,2,4,6,8, 10,12,14,16, 18,20, \ldots\}[/math]; «гармоническая» последовательность [math]\{1,2,3,4,5,6,7,8,\ldots\}[/math];


– Ромбергом: [math]\{2,4,8,16,32,64,\ldots\}[/math] или [math]\{1,2,4,8,16,32,64,\ldots\}[/math];


– Булиршем и Штером: [math]\{2,3,4,6,8,12,16,24,32,\ldots\}[/math] или [math]\{1,2,3,4, 6,8,12,16, 24,32, \ldots\}[/math].


Предположим, что точка [math](x_{i}, \widehat{y}_{i})[/math] известна. При каждом значении [math]r=\overline{0,M}[/math] генерируем сетку


[math]t_s=x_{i}+s\cdot h_r,\quad s=0,1,\ldots,N_r,\quad t_0=e_{i},\quad t_{N_r}= x_{i+1},[/math]
(6.72)

и, применяя какой-либо разностный метод, интегрируем решаемое уравнение на отрезке [math][x_{i}, x_{i+1}][/math] с каждым значением шага [math]h_r[/math], начиная от [math]r=0[/math] и кончая [math]r=M[/math]. В результате получится [math](M+1)[/math] значений:


[math]T_{r,0}\equiv y(x_{i+1}, h_r),\quad r=0,1,\ldots,M,[/math]
(6.73)

где [math]y(x_{i+1},h_r)[/math] — решение задачи Коши в точке [math]x_{i+1}[/math], найденное при интегрировании с шагом [math]h_r[/math].


Интегрирование рекомендуется проводить следующими методами:


а) явным методом Эйлера:


[math]z_0=\widehat{y}_{i},\quad z_{s+1}= z_{s}+ h_r\cdot f(t_{s}, z_{s}),\quad s=0,1,\ldots,N_r-1,\quad T_{r,0}= z_{N_r};[/math]
(6.74)

б) методом трапеций:


[math]z_0=\widehat{y}_{i},\quad z_{s+1}= z_{s}+ \frac{h_r}{2} \bigl[f(t_s,z_s)+ f(t_{s+1}, z_{s+1})\bigr],\quad s=0,1,\ldots,N_r-1,\quad T_{r,0}= z_{N_r};[/math]

в) методом Эйлера-Коши, модифицированным Грэггом:


[math]\begin{gathered}z_0=\widehat{y}_{i},\quad z_1=z_0+ h_0 f(t_0,z_0),\quad z_{s+1}= z_{s-1}+ 2h_r f(t_s,z_s),\quad s=1,\ldots, N_r-1,\\ T_{r,0}= \frac{1}{2} \bigl[z_{N_{r-1}}+ z_{N_r}+ h\cdot f(t_{N_r}, z_{N_r})\bigr]; \end{gathered}[/math]
(6.75)

г) обратным методом Эйлера:


[math]z_0=\widehat{y}_{i},\quad z_{s+1}= \frac{z_s^2}{z_s-h_r f(t_s, z_s)},\quad s=0,1,\ldots, N_r-1,\quad T_{r,0}= z_{N_r};[/math]
(6.76)

д) по правилу средней тонки (значение [math]z_{s+1}[/math] находится так же, как и в остальных неявных методах, изложенных ранее):


[math]z_0=\widehat{y}_{i},\quad z_{s+1}= z_{s}+ h_r f\! \left(t_s+ \frac{h_r}{2},\, \frac{z_s+ z_{s+1}}{2} \right)\!,\quad s=0,1,\ldots, N_r-1,\quad T_{r,0}= z_{N_r};[/math]

е) методом Бадера и Дойфлхарда, который предложен для решения жестких автономных систем вида [math]Y'= F(Y)[/math]. Заметим, что неавтономные системы (6.7) типа [math]Y'= F(x,Y)[/math] всегда можно свести к автономным путем введения новой переменной, удовлетворяющей уравнению [math]y'_{n+1}=1,[/math] [math]y_{n+1}(x_0)=x_0[/math] и посредством рассмотрения расширенного вектора [math]\widetilde{Y}= (Y,y_{n+1})[/math]. С учетом обозначений


[math]J= F_y(Y),\quad \overline{F}(Y)= F(Y)-J\cdot Y,\quad h_r= \frac{h}{2r}[/math]

метод записывается в форме


[math]\begin{gathered}\eta_0= \widehat{Y},\qquad \eta_1= (E-h_rJ)^{-1}\cdot \bigl[\widehat{Y}_1+ h_r \overline{F}(\widehat{Y}_{i})\bigr],\\[2pt] \eta_{k+1}= (E-h_rJ)^{-1}\cdot \bigl[(E+h_rJ)\eta_{k-1}+ 2h_r \overline{F}(\eta_{k})\bigr],\quad k=1,2,\ldots,2r,\\[2pt] T_{r,0}= \frac{1}{2} (\eta_{2r-1}+ \eta_{2r+1}).\end{gathered}[/math]

В результате применения каждого из методов получается столбец:


[math]T_{0,0}\quad T_{1,0}\quad \ldots\quad T_{M-1,0}\quad T_{M,0}.[/math]
(6.77)

Способы реализации второго этапа. По полученным на первом этапе [math](M+1)[/math] точкам [math](h_r, y(x_{i+1}, h_r))[/math] могут быть построены либо интерполяционный полином M-й степени , либо рациональная функция.


Таким образом, для уточнения найденных на первом этапе решений используются:


а) полиномиальная экстраполяция Эйткена-Невилла.


[math]\begin{gathered}T_{r,0}= y(x_{i+1}, h_r),\quad r=0,1,\ldots, M;\\[2pt] T_{r,s}= T_{r+1,s+1}+ \frac{T_{r+1,s-1}-T_{r,s-1}}{\left(\dfrac{h_r}{h_{r+s}}\right)^{\gamma}-1},\quad s=1,2,\ldots,M;\quad r=0,1,\ldots,M-s;\end{gathered}[/math]
(6.78)

где, как правило, полагают [math]\gamma=1[/math] или [math]\gamma=2[/math].


По формуле (6.78) заполняется табл. 6.20.


В качестве уточненного результата [math]\widehat{y}_{i+1}[/math] принимается значение [math]T_{0,M}[/math];


б) рациональная экстраполяция, предложенная Булиршем и Штером:


[math]T_{r,-1}=0;\quad r=1,\ldots,M;\qquad T_{r,0}=y(x_{i+1},h_{r}),\quad r=0,1,\ldots,M;[/math]

[math]T_{r,s}= T_{r+1,s-1}+ \frac{T_{r+1,s-1}-T_{r,s-1}}{\left(\dfrac{h_{r}}{h_{r+s} }\right)^{\gamma} \left(1-\dfrac{T_{r+1,s-1}-T_{r,s-1}}{T_{r+1,s-1}-T_{r+1,s-2}}\right)-1},\quad s=1,2,\ldots,M;\quad r=0,1,\ldots,M-s.[/math]
(6.79)

Обычно полагают [math]\gamma=1[/math] или [math]\gamma=2[/math]. В результате формируется табл. 6.21.


В качестве уточненного результата [math]\widehat{y}_{i+1}[/math] принимается значение [math]T_{0,M}[/math].


Замечания


1. Если на первом этапе применять формулу (6.75), а на втором этапе -рациональную экстраполяцию, то получаем метод Грэгга-Булирша-Штера.

2. Рекомендуемый максимальный порядок экстраполяции [math]M=6[/math].

3. Существуют различные модификации экстраполяционных методов, в том числе с динамическим изменением порядка экстраполяции, контролем точности, рекуррентной реализацией экстраполяции.




Алгоритм применения экстраполяционных методов


1. Задать: а) порядок аппроксимации [math]M[/math]; б) базовый шаг [math]h[/math]; в) последовательность [math]N_0,N_1,\ldots,N_M[/math].


2. Выбрать разностный метод для нахождения решений с величинами шага, равными [math]h_0,h_1,\ldots,h_M[/math], и получить значения, составляющие столбец (6.77).


3. Выбрать метод экстраполяции, задать параметр [math]\gamma[/math] и получить уточненное решение [math]T_{0,M}[/math] по формуле (6.78) при полиномиальной экстраполяции или (6.79) при рациональной экстраполяции. Перейти к следующему промежутку интегрирования.


Пример 6.10. Решить задачу Коши [math]y'=1+y^2,~ y(0)=1[/math] на отрезке [math][0;0,\!25][/math] с базовым шагом [math]h=0,\!25[/math] и порядком экстраполяции, равным [math]M=3[/math].


Точное решение задачи: [math]y(x)= \operatorname{tg}\! \left(x+ \frac{\pi}{4}\right)\!,~ y(0,\!25)\approx 1,\!685796417[/math]. Будем использовать последовательность Ромберга. Так как [math]M=3[/math], выберем из нее четыре первых числа: [math]2,\,4,\,8,\,16[/math], то есть [math]N_0=2,\, N_1=4,\, N_2=8,\, N_3=16[/math]. Тогда по формуле (6.71) получаем:


[math]h_0=\frac{0,\!25}{2},\quad h_1=\frac{0,\!25}{4},\quad h_2=\frac{0,\!25}{8},\quad h_3=\frac{0,\!25}{16}.[/math]

Для нахождения приближенного решения задачи на первом этапе применим явный метод Эйлера (6.74) , а на втором этапе — рациональную экстраполяцию (6.79) при [math]\gamma=1[/math] (табл. 6.22).


Элементы второго столбца табл. 6.22 получены по формулам (6.74), то есть


[math]\begin{aligned}& T_{0,0}=y(0,\!25; h_0)= 1,\!5703125000,\\ & T_{1,0}=y(0,\!25; h_1)= 1,\!6195625218,\\ & T_{2,0}=y(0,\!25; h_2)= 1,\!6499448310,\\ & T_{3,0}=y(0,\!25; h_3)= 1,\!6670804665. \end{aligned}[/math]

Приведем примеры расчетов по формуле (6.79):


[math]\begin{aligned}& T_{0,1}= T_{1,0}+ \frac{T_{1,0}-T_{0,0}}{\left(\dfrac{h_0}{h_1}\right)^1\! \left(1-\dfrac{T_{1,0}-T_{0,0}}{T_{1,0}-T_{1,-1}}\right)-1}= 1,\!6195625218+ \frac{1,\!6195625218-1,\!5703125}{2^1\cdot\! \left(1-\dfrac{1,\!6195625218-1,\!5703125}{1,\!6195625218-0}\right)-1}= 1,\!6720018467;\\[4pt] &T_{1,1}= T_{2,0}+ \frac{T_{2,0}-T_{1,0}}{\left(\dfrac{h_1}{h_2}\right)^1\! \left(1-\dfrac{T_{1,0}-T_{0,0}}{T_{1,0}-T_{1,-1}}\right)-1}=1,\!649944831 + \frac{1,\!649944831-1,\!6195625218}{2^1\cdot\! \left(1-\dfrac{1,\!649944831-1,\!6195625218}{1,\!6499448310-0}\right)-1}= 1,\!681488852;\\[4pt] &T_{0,2}= T_{1,1}+ \frac{T_{1,1}-T_{0,1}}{\left(\dfrac{h_0}{h_1}\right)^1\! \left(1-\dfrac{T_{1,1}-T_{0,1}}{T_{1,1}-T_{1,0}}\right)-1}=1,\!681488852 + \frac{1,\!6814888520-1,\!6720018467}{4^1\cdot\! \left(1-\dfrac{1,\!6814888520-1,\!6720018467}{1,\!6814888520-1,\!6195625218}\right)-1}= 1,\!6854629545;\\[4pt] &T_{0,3}= T_{1,2}+ \frac{T_{1,2}-T_{0,2}}{\left(\dfrac{h_0}{h_3}\right)^1\! \left(1-\dfrac{T_{1,2}-T_{0,2}}{T_{1,2}-T_{1,1}}\right)-1}=1,\!6857435231 + \frac{1,\!6857435231-1,\!6854629545}{8^1\cdot\! \left(1-\dfrac{1,\!6857435231-1,\!6854629545}{1,\!6857435231-1,\!6814888520}\right)-1}= 1,\!6857868712. \end{aligned}[/math]

Остальные вычисления аналогичны. Погрешность полученного решения [math]\widehat{y}(0,\!25)= 1,\!6857868712[/math] составляет


[math]\bigl|1,\!6857868712-1,\!685796417\bigr|= 5,\!2894\cdot 10^{-5}.[/math]

Если воспользоваться обратным методом Эйлера (6.76) на первом этапе, а полиномиальной экстраполяцией с параметром [math]\gamma=1[/math] на втором этапе, то получим результаты, приведенные в табл. 6.23.


Здесь результаты экстраполяции находятся по формуле (6.78), например,


[math]T_{0,3}= T_{1,2}+ \frac{T_{1,2}-T_{0,2}}{\left(\dfrac{h_0}{h_3}\right)^1-1}= 1,\!6858697276+ \frac{1,\!6858697276-1,\!6865256650}{8^1-1}= 1,\!857760212.[/math]

Погрешность полученного решения составляет [math]\bigl|1,\!6857760212-1,\!685796417\bigr|= 2,\!039\cdot 10^{-5}[/math].


Воспользуемся обратным методом Эйлера (6.76) и рациональной экстраполяцией при [math]\gamma=1[/math] (табл. 6.24).


Фактическая погрешность полученного решения равна [math]\bigl|11,\!6857961912-1,\!685796417\bigr|= 7,\!2598\cdot 10^{-6}[/math].


Применим модифицированный метод Эйлера-Коши и рациональную экстраполяцию при [math]\gamma=2[/math] (метод Грэгга-Булирша-Штера).


Погрешность полученного решения: [math]\bigl|1,\!6857963393-1,\!685796417\bigr|= 3,\!4425\cdot 10^{-7}[/math].


Очевидно, найденное в табл. 6.25 решение точнее остальных.


Часовой пояс: UTC + 4 часа [ Летнее время ]


Яндекс.Метрика

Copyright © 2010-2016 MathHelpPlanet.com. All rights reserved