у |
9 |
9,034 12 |
9,069 76 |
9,106 85 |
9,145 30 |
9,185 08 |
|
|
|
|
|
|
|
Может возникнуть вопрос, нельзя ли вместо громоздких вычислений применить метод Эйлера с очень малым шагом, особенно при использовании компьютера. Ответ зависит от того, с какой точностью надо получить решение.
Пусть, например, решение некоторой задачи методом Эйлера с точностью 0,1 потребовало 100 операций. Тогда решение её с тем же шагом методами 2-го порядка потребует около 250 операций и даст точность 0,01. При том же шаге метод 3-го порядка примерно за 500 операций даст точность 0,001, а метод 4-го порядка – точность 0,000 1 за 1 000 операций.
Если же с точностью 0,000 1 решать задачу методом Эйлера, шаг надо уменьшить в 100 раз, и число действий составит 10 тыс. – в 10 раз больше, чем методом 4-го порядка.
Пусть теперь понадобилось решить задачу с точностью 10 8 . Для решения методом 4-го порядка достаточно уменьшить шаг в 10 раз, и число операций составит 10 тыс. Для решения методом 3-го порядка шаг надо уменьшить
примерно в 22 раза ( 3
10 3 /10 8 22 ), что приведёт к 11 тыс. действий. Достижение той же точности методами 2-го порядка требует уменьшения
шага в 1 000 раз и соответственно 250 тыс. действий, а достижение точности методом Эйлера – в 10 млн раз, что даёт 1 млрд операций.
Для каждого метода число действий в конкретной задаче зависит в основном от сложности функции в правой части уравнения.
4.5. Метод прогонки решения краевой задачи для линейного дифференциального уравнения второго порядка
Известно, что функции спроса D(P) и предложения S(P) зависят не только от цены P, но и от скорости её изменения P' и от увеличения темпа роста P'' так, что
D a0 a1P a2 P a3 P и S b0 b1P b2 P b3 P ,
где a0 , , b3 0 – некоторые коэффициенты. Задача о равенстве спроса и пред-
ложения приводит к уравнению P c1P c2 P c0 . Его решение – функция P(t),
дающая зависимость цены от времени t.
Если и как следствие c0 , c1 , c2 непостоянны, получается уравнение типа P r t P q t P f t . В общем виде оно решается для узкого класса функций r(t), q(t), f(t), и необходимы приближённые методы решения.
Уравнение (в более привычной записи)
76
y p x y q x y f x |
(4.10) |
относительно функции y(x) имеет смысл на отрезке [a, b], если на нём определены p(x), q(x), f(x). Тогда его можно решить численно, если даны значения функции y(a) и y(b) (с экономической точки зрения: известны значения цены P в разные моменты времени, достаточно удалённые один от другого).
Приведём схему решения уравнения (4.10) при краевых (граничных) условиях
|
|
|
|
|
y a y0 , |
y b yn |
|
|
|
|
|
|
|
(4.11) |
|||
где у0, уn – заданные числа. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
Разделим [a, b] на n равных частей точками |
x0 , x1 , , xn , |
где |
x0 a |
и xn b , |
|||||||||||||
шаг h xk 1 xk |
const . |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Обозначим |
pk , qk , fk – значения соответствующих заданных функций р(х), |
||||||||||||||||
q(x), f(x) в точке xk . |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
Вместо задачи (4.10), (4.11) будем решать задачу |
|
|
|
|
|
|
|
|
|||||||||
|
|
yk 1 |
2 yk yk 1 |
p |
|
yk 1 yk 1 |
q |
|
y |
|
f |
|
(4.12) |
||||
|
|
|
h |
2 |
|
k |
2h |
k |
k |
k |
|||||||
|
|
|
|
|
|
|
|
|
|
||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
c неизвестными числами у1, …, уN-1 и известными числами у0, уn, являющихся правыми частями равенств (4.11). Это значит, что в уравнении (4.10) вторая производная y'' в точке хк заменена разностным отношением
yk 1 2 yk yk 1 h2 ,
а первая y' в точке хк – симметричным разностным отношением
yk 1 yk 1 . 2h
В§ 5 будет показано, что на достаточно гладких функциях у(х) эти разностные отношения будут приближать соответствующие производные с точностью О(h2). Для этого надо потребовать, чтобы функция у(х) была четырежды непрерывно дифференцируемой на интервале (а, b). Однако требование от функции большей гладкости не улучшит этой точности.
Вравенстве (4.12) индекс k принимает значения k = 1,2,…, n–1. Таким образом, (4.12) есть система линейных алгебраических уравнений.
Всего получаем n–1 уравнение относительно n–1 неизвестных y1 , y2 , , yn 1 .
Напомним, что значения y0 y a и yn y b известны (даны в условии).
Перегруппировав слагаемые, получаем систему уравнений
77
|
|
|
|
|
|
|
|
|
|
|
|
2 |
1 |
|
|
p1 |
|
|
|
|
|
|
|
|
|
|
1 |
|
|
|
|
|
p1 |
|
|
|
|
|||||||||||||||||||
|
|
|
y1 |
q1 |
|
|
|
|
|
|
y2 |
|
|
|
|
|
|
|
|
|
|
f1 |
y0 |
|
|
|
|
|
|
|
|
|
|
|
, |
|
|
|||||||||||||||||||
|
|
h |
2 |
|
2 |
|
|
|
|
|
|
|
2 |
2h |
|
|
||||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
h |
|
|
|
2h |
|
|
|
|
|
|
|
h |
|
|
|
|
|
|
|
|
|
|||||||||||||||||||||
|
|
|
|
|
1 |
|
|
|
|
|
p2 |
|
|
|
|
|
|
|
|
2 |
|
1 |
|
|
|
|
p2 |
|
|
|
|
|
|
|
||||||||||||||||||||||
|
|
|
y1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
y2 |
q2 |
|
|
|
|
|
|
|
y3 |
|
|
|
|
|
|
|
|
|
|
f |
2 |
, |
|
|
|||||||||||||||
|
|
|
|
2 |
|
|
|
|
|
|
|
|
|
h |
2 |
|
|
|
2 |
|
|
|
|
|
|
|
||||||||||||||||||||||||||||||
|
|
|
|
|
h |
|
|
|
|
|
|
2h |
|
|
|
|
|
|
|
|
|
|
|
h |
|
|
|
|
|
2h |
|
|
|
|
|
|
|
|||||||||||||||||||
|
|
|
|
1 |
|
|
|
|
|
|
p3 |
|
|
|
|
|
|
|
2 |
|
1 |
|
|
|
|
|
p3 |
|
|
|
|
|
|
|
||||||||||||||||||||||
|
|
y2 |
|
|
|
|
|
|
|
|
|
|
|
y3 |
q3 |
|
|
|
|
|
|
|
y4 |
|
|
|
|
|
|
|
|
|
|
|
|
|
f |
3 , |
|
|
||||||||||||||||
|
|
|
2 |
|
|
2h |
|
h |
2 |
|
|
|
|
2 |
|
|
|
|
|
|
|
|
|
|||||||||||||||||||||||||||||||||
|
|
|
|
h |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
h |
|
|
|
|
|
2h |
|
|
|
|
|
|
|
||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
…, |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||
|
1 |
|
|
|
|
|
p |
n 1 |
|
|
|
|
|
|
|
|
|
|
|
2 |
|
|
|
|
|
|
|
|
|
|
|
1 |
|
p |
n 1 |
|
||||||||||||||||||||
yn 2 |
|
|
|
|
|
|
|
|
|
|
|
|
|
yn 1 |
qn 1 |
|
|
|
|
|
|
fn 1 |
yn |
|
|
|
|
|
|
. |
||||||||||||||||||||||||||
|
|
2 |
|
|
|
|
|
|
|
|
h |
2 |
|
|
2 |
|
|
|||||||||||||||||||||||||||||||||||||||
|
h |
|
|
|
|
|
|
|
2h |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
h |
|
|
|
2h |
||||||||||||||||||||
В 1-м и последнем уравнении скобки с известными по условию y0 и yn
перенесены вправо. Обратите внимание на разные знаки в скобках.
Получена система в виде, допускающем решение методом прогонки (см. § 4 части 1). При определённых свойствах функций p(x), q(x) выполнены достаточные условия сходимости.
Заметим, что при |
|
p |
k |
|
|
2 |
будет |
1 |
|
pk |
|
|
|
1 |
|
pk |
|
|
1 |
|
pk |
|
1 |
|
pk |
|
2 |
, |
|||||
|
|
||||||||||||||||||||||||||||||||
|
|
|
|
2 |
|
|
2 |
|
|
2 |
|
|
2 |
|
|
2 |
|||||||||||||||||
|
|
|
|
|
h |
|
h |
|
2h |
|
h |
|
2h |
h |
|
2h h |
|
2h h |
|
||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||||
тогда для сходимости достаточно (но не необходимо) выполнение неравенства
q |
|
|
2 |
|
2 |
, что имеет место при любом q |
|
0 |
или при условии |
q |
|
|
4 |
. |
|
k |
|
h2 |
|
h2 |
|
k |
|
|
|
k |
|
h2 |
|
Замечание. Если в задаче об установлении равновесной цены важно поведение цены в более отдалённые моменты, чем t a , следует методом наименьших квадратов подобрать подходящую функцию P(t) и найти прогноз цены для t a .
4.6.Задачи Коши для систем дифференциальных уравнений
иуравнений высокого порядка
Задача Коши системы уравнений первого порядка с двумя неизвестными функциями у(х) и z(x) и известными правыми частями имеют вид:
y f x, y, z ,z g x, y, z ,
y x0 y0 , z x0 z0.
Она допускает численное решение на отрезке, содержащем x0 , причём лю-
бым из рассмотренных ранее методов. Например, решение системы методом Эйлера сводится к нахождению последовательности
78
yk 1 yk hf xk , yk , zk , |
||
|
zk |
hg xk , yk , zk , |
zk 1 |
||
где k 0,1, , n 1, и x0 , x1 , , xn – точки отрезка, на котором ищем решение.
|
|
|
|
|
|
|
|
|
|
|
y' 0,5z2 |
, |
|
|
|
|
|
|
|
||||
|
|
|
|
|
|
|
|
|
|
|
|
4 y / z |
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
z' |
|
|
|
|
|
|
|
|
||||
с начальным условием y 0 1, z 0 2 |
на отрезке 0;0,5 с шагом h 0,1 . |
|
|
|
|||||||||||||||||||
Решение. |
Имеем |
y |
|
1, z |
|
2 , n |
0,5 0 |
5 |
соответствует точке |
x |
|
0,5. |
|||||||||||
0 |
0 |
|
5 |
||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
0,1 |
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Общая формула решения: |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||
|
|
|
|
y |
k 1 |
y |
|
0,1 0,5z 2 |
, |
т.е. |
y |
k 1 |
y |
|
0,05z 2 , |
|
|
|
|||||
|
|
|
|
|
|
|
k |
|
|
|
k |
; |
|
|
k |
k |
|
|
|
||||
|
|
|
|
zk 1 |
zk |
0,1 4 y / z |
|
zk 1 |
zk |
0,4 y / z. |
|
|
|
||||||||||
Находим: |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
y |
|
y |
0,05z2 |
1 0,05 22 1 0,2 0,8, |
|
|
|
|
|
|
|
|
|||||||||||
1 |
0 |
0 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
z1 |
z0 0,4 y0 / z0 |
2 0,4 1/ 2 2 0,2 1,8; |
|
|
|
|
|
|
|
||||||||||||||
y |
2 |
y |
|
0,05z |
2 0,8 0,05 1,82 0,8 0,162 0,638, |
|
|
|
|||||||||||||||
|
|
1 |
1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
z2 |
z1 0,4 y1 / z1 1,8 0,4 0,8 /1,8 1,8 0,178 1,622; |
|
|
|
|||||||||||||||||||
y |
|
y |
|
0,05z |
2 0,638 0,05 1,6222 0,638 0,132 0,506, |
|
|
|
|||||||||||||||
3 |
|
2 |
|
2 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
z3 |
z2 |
0,4 y2 |
/ z2 1,622 0,4 0,638 /1,622 1,622 0,157 1,465; |
|
|
|
|||||||||||||||||
y |
|
y |
|
0,05z2 0,506 0,05 1,4652 0,506 0,107 0,399, |
|
|
|
||||||||||||||||
|
4 |
|
3 |
|
3 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
z4 |
z3 |
0,4 y3 |
/ z3 1,465 0,4 0,506 /1,465 1,465 0,139 1,326; |
|
|
|
|||||||||||||||||
y |
y |
|
0,05z2 0,399 0,05 1,3262 0,399 0,088 0,311, |
|
|
|
|||||||||||||||||
|
5 |
|
4 |
|
4 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
z5 |
z4 |
0,4 y4 |
/ z4 1,326 0,4 0,399 /1,326 1,326 0,120 1,206. |
|
|
|
|||||||||||||||||
Точность метода невысока, ошибка неизвестна, цифры нельзя считать верными.
x |
0 |
0,1 |
0,2 |
0,3 |
0,4 |
0,5 |
|
|
|
|
|
|
|
y |
1 |
0,8 |
0,638 |
0,506 |
0,399 |
0,311 |
|
|
|
|
|
|
|
z |
2 |
1,8 |
1,622 |
1,465 |
1,326 |
1,206 |
|
|
|
|
|
|
|
Замечание. Задача допускает точное решение y e 2 x и z 2e x . Значения функций, полученные по этим формулам (все цифры верные):
x |
0 |
0,1 |
0,2 |
0,3 |
0,4 |
0,5 |
|
|
|
|
|
|
|
|
|
|
79 |
|
|
|
y |
1 |
0,819 |
0,670 |
0,549 |
0,449 |
0,368 |
|
|
|
|
|
|
|
z |
2 |
1,810 |
1,637 |
1,482 |
1,341 |
1,213 |
|
|
|
|
|
|
|
По такой же схеме можно решать системы с любым числом функций.
Задача Коши для дифференциального уравнения второго порядка, разрешён-
ного относительно старшей производной y'', при известных числах у0, y10 и из-
вестной функции f трёх переменных имеет вид:
y" f x, y, y' , |
|
||
|
y0 ; |
y' x0 |
y10. |
y x0 |
|||
Она может быть решена заменой y' x z x , где z x – новая неизвестная функция. При такой замене получается система
z' f x, y, z ,
y' z x
с начальным условием y x0 y0 , z x0 z0 , где z0 y01 . Схема решения системы методом Эйлера, в частности, такая же, как в примере 1.
Пример 2. Решить на отрезке 0,5;1,5 с шагом h 0,2 задачу
y" 2 yy',
y 0,5 2 y' 0,5 4.
Решение. Исходное уравнение с неизвестной функцией y y x указанной заменой сведётся к системе
z' 2 yz,y' z
с начальным условием x0 0,5, y0 2, z0 4 .
Формулы пересчёта:
zk 1 zk |
0,2 2 yk zk zk 0,4 yk zk |
|
0,2zk . |
yk 1 yk |
|
Находим z1 4 0,4 2 4 0,8, y1 2 0,2 4 1,2 и т.д. |
|
Результаты вычислений приведены в таблице с округлением до 3 знаков.
|
|
|
|
|
|
k |
xk |
zk |
yk |
y xk |
y xk yk |
|
|
|
|
|
|
0 |
0,5 |
–4 |
2 |
2 |
0 |
|
|
|
|
|
|
1 |
0,7 |
–0,8 |
1,2 |
1,429 |
0,229 |
|
|
|
|
|
|
2 |
0,9 |
–0,416 |
1,04 |
1,111 |
0,071 |
|
|
|
|
|
|
3 |
1,1 |
–0,243 |
0,957 |
0,909 |
–0,048 |
|
|
|
|
|
|
|
|
|
80 |
|
|