Численное решение задачи Коши для обыкновенных дифференциальных уравнений методами типа Рунге-Кутта. Часть 1. Корзунина В.В - 49 стр.

UptoLike

Рубрика: 

49
Замечание о составлении тестового примера, демонстрирующего удвоение шага
интегрирования при автоматическом выборе шага методом
удвоения и деления шага пополам.
Пусть решается задача Коши методом Рунге - Кутта порядка S и
каким-либо методом на каждом шаге оценивается погрешность
решения. Тогда если в качестве тестового примера взять задачу
Коши, решением которой является полином степени не выше
S
, то
погрешность на каждом шаге будет равна нулю (численный метод
будет давать точное решение ) и , следовательно , шаг
интегрирования будет постоянно удваиваться.
К примеру, пусть начальный шаг интегрирования задается равным
0.005. Тогда последовательность точек, в которых будет
выдаваться решение , такова :
155.0,075.0,035.0,015.0,005.0,0
543210
=
=
=
=
=
=
xxxxxx
и так далее.
Замечание о составлении тестового примера, демонстрирующего уменьшение
шага интегрирования в два раза при автоматическом выборе шага
методом удвоения и деления шага пополам.
Пусть программируется метод Рунге - Кутта второго порядка (22).
Из Примера 1 о составлении дифференциальной задачи с заранее
известной погрешностью метода на шаге следует, что при
интегрировании уравнения
2
12xy =
от начального условия 0)0(
=
y
погрешность метода на любом шаге равна
3
h . Пусть начальный шаг
интегрирования
H
, а требуемая точность решения
(
)
3
2
k
H
, где
k
некоторое целое число . Тогда очевидно , что при вычислении
первой точки первоначальный шаг будет k раз поделен на два , а
далее расчетные точки будут следовать с постоянным шагом,
равным
k
H
2
:
(
)
(
)
kkk
H
x
H
x
H
xx
2
3,
2
2,
2
,0
3210
==== и так далее.
                                       49
Замечание о составлении тестового примера, демонстрирующего удвоение шага
            интегрирования при автоматическом выборе шага методом
            удвоения и деления шага пополам.
            Пусть решается задача Коши методом Рунге-Кутта порядка S и
            каким-либо методом на каждом шаге оценивается погрешность
            решения. Тогда если в качестве тестового примера взять задачу
            Коши, решением которой является полином степени не выше S , то
            погрешность на каждом шаге будет равна нулю (численный метод
            будет     давать          точное        решение)           и,      следовательно,    шаг
            интегрирования будет постоянно удваиваться.
            К примеру, пусть начальный шаг интегрирования задается равным
            0.005.    Тогда         последовательность                точек,    в   которых     будет
            выдаваться решение, такова:
             x0 =0, x1 =0.005, x 2 =0.015, x3 =0.035, x 4 =0.075, x5 =0.155 и так далее.

Замечание о составлении тестового примера, демонстрирующего уменьшение
            шага интегрирования в два раза при автоматическом выборе шага
            методом удвоения и деления шага пополам.
            Пусть программируется метод Рунге-Кутта второго порядка (22).
            Из Примера 1 о составлении дифференциальной задачи с заранее
            известной погрешностью метода на шаге следует, что при
            интегрировании уравнения y ′ =12x 2 от начального условия y(0) =0
            погрешность метода на любом шаге равна h 3 . Пусть начальный шаг

            интегрирования H , а требуемая точность решения H                        ( 2 ) , где k
                                                                                        k
                                                                                            3
                                                                                                     –

            некоторое целое число. Тогда очевидно, что при вычислении
            первой точки первоначальный шаг будет k раз поделен на два, а
            далее расчетные точки будут следовать с постоянным шагом,
            равным H         :
                        2k

             x0 =0, x1 =H
                            2k
                                          ( 2 ), x
                                 , x 2 =2 ⋅ H   k    3      ( 2 ) и так далее.
                                                         =3 ⋅ H   k