Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
5544.pdf
Скачиваний:
2
Добавлен:
13.11.2022
Размер:
1.79 Mб
Скачать

у

2

2,008

2,082

2,313

2,928

4,887

 

 

 

 

 

 

 

Точное решение задачи – функция

y

 

3

, её значения в узловых точках:

 

 

1,5 x3

 

 

 

 

 

 

 

 

 

 

 

 

х

0

0,2

 

0,4

 

0,6

0,8

1

 

 

 

 

 

 

 

 

 

 

 

 

 

у

2

2,011

 

2,089

 

2,336

3,036

6

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Погрешность вначале невелика, но резко возрастает к концу отрезка. Это связано с приближением аргумента к точке 31,5 1,148 – точке разрыва 2-го рода, где функция бесконечна. Производная, оцениваемая приближённым методом, в этом случае весьма отличается ("отстаёт") от настоящей. Тем не менее, значения, получаемые методом Эйлера и указанные в таблице:

х

0

0,2

0,4

0,6

0,8

1

 

 

 

 

 

 

 

у

2

2

2,032

2,164

2,501

3,302

 

 

 

 

 

 

 

отличаются от точных намного больше.

Следующий пример решим вторым способом.

Пример 2. Для уравнения y xy , с начальным условием y 1 3, найти

решение на отрезке 1;1 с шагом h 0,4.

Решение оформим в виде таблицы. Все действия указаны в её заголовке.

 

k

xk

yk

 

 

xk / yk

 

 

y *

xk h

f1

 

fC

 

 

 

yk 1

 

 

0

–1

3

 

–0,333 3

2,866 7

 

–0,6

–0,209 3

–0,271 3

 

 

2,891 5

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

–0,6

2,891 5

 

–0,207 5

2,808 5

 

–0,2

–0,071 2

–0,139 4

 

 

2,835 8

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2

–0,2

2,835 8

 

–0,070 5

2,807 6

 

0,2

0,0712

0,000 35

 

 

2,835 9

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

3

0,2

2,835 9

 

 

0,070 5

2,864 1

 

0,6

0,209 5

0,14

 

 

2,861 9

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

4

0,6

2,891 9

 

 

0,207 5

2,974 9

 

1,0

0,336 1

0,271 8

 

 

3,000 6

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

x

 

h

 

 

 

 

x

k

 

*

 

 

 

 

 

 

 

 

Здесь для краткости

f

 

 

 

k

 

 

 

, f

 

0,5

 

y

, причём y

 

y

 

 

hf

 

.

 

 

 

 

 

1

 

 

 

y

*

 

 

C

 

 

yk

 

 

k 1

 

k

 

C

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Решение округляем до тысячных.

Ответ:

72

х

–1

–0,6

–0,2

0,2

0,6

1,0

 

 

 

 

 

 

 

у

3

2,892

2,836

2,836

2,892

3,001

 

 

 

 

 

 

 

Точное решение задачи – функция y x2 8 , её значения в узловых точках даны в таблице:

х

–1

–0,6

–0,2

0,2

0,6

1,0

 

 

 

 

 

 

 

у

3

2,891

2,835

2,835

2,891

3

 

 

 

 

 

 

 

Высокая точность объясняется малым изменением функции на отрезке 1,1 .

4.4. Методы «Счёт-Пересчёт» высокого порядка точности

Если при решении задачи Коши искомую функцию разложить в ряд Тейлора с учётом производных 3-го порядка и тем более 4-го порядка, решение будет ещё точнее, чем при решении ранее указанными способами.

Формула метода 3-го порядка точности:

yi 1 yi 16 k1 4k2 k3 ,

где k1 hf xi , yi , k2 hf xi 0,5h; yi 0,5k1 , k3 hf xi h; yi k1 2k2 .

Пример. Решим уравнение y x y с условием y 0 0 на отрезке [0;0,5], взяв шаг h 0,1 .

Решение. Вычисления выполним в таблице:

x

i

y

i

k

y

i

0,5k

k

2

y *

k

3

h*

y

i 1

 

 

1

 

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0

0

0

 

 

0

0,005

0,01

0,009

0,004 83

0,004 8

 

 

 

 

 

 

 

 

 

0,1

0,004 8

0,009 5

0,009 6

0,014 04

0,023 4

0,017 66

0,013 9

0,018 7

 

 

 

 

 

 

 

 

 

0,2

0,018 7

0,018 1

0,027 8

0,022 22

0,045 0

0,025 50

0,022 1

0,040 8

 

 

 

 

 

 

 

 

 

0,3

0,040 8

0,025 9

0,053 8

0,029 62

0,074 1

0,032 59

0,029 5

0,070 3

 

 

 

 

 

 

 

 

 

0,4

0,070 3

0,033 0

0,086 8

0,036 32

0,110 0

0,039 00

0,036 2

0,106 5

 

 

 

 

 

 

 

 

 

 

 

0,5

0,106 5

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

В таблице для краткости обозначено y* yi k1 2k2 и h* h6 k1 4k2 k3 .

Поскольку погрешность пропорциональна кубу шага, то есть 10 3 , при вычислениях оставляли 4 – 5 цифр, последняя из которых – запасная.

Поясним вычисления.

73

Правая часть уравнения f x, y x y , поэтому k1 xi yi .

При подсчёте k2

используется xi , увеличенный на половину шага, и число

yi 0,5k1 , стоящее слева. Разность этих чисел умножаем на шаг.

При подсчёте k

3

используем аргумент

 

x

, увеличенный на шаг, и число y * , их

 

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

 

разность также умножаем на шаг.

 

 

 

 

 

 

 

 

 

 

 

Элемент последнего столбца найден как y

i

h* . Результат становится при-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ближённым значением функции в очередной точке.

 

 

 

 

Ответ:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

х

 

0

0,1

0,2

 

 

0,3

 

0,4

0,5

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

у

 

0

0,004 8

0,018 7

0,040 8

0,070 3

0,106 5

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Точное решение задачи – функция y x e x

1 (проверьте!), её значения в

узловых точках c 4 точными цифрами даны в таблице:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

х

 

0

 

0,1

 

0,2

 

 

0,3

 

 

0,4

 

0,5

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

у

 

0

 

0,004 8

 

0,018 7

 

0,040 8

 

0,070 3

 

0,106 5

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Видно, что запасная цифра также оказалась точной, однако это связано с малым ростом функции и происходит редко.

Формула метода 4-го порядка точности

 

 

y

 

y

 

 

1

k 2k

 

2k

 

k

 

,

 

 

i 1

i

 

2

3

4

 

 

 

 

 

6

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

где

k1 hf xi , yi ,

k2 hf xi

 

0,5h; yi

0,5k1 ,

 

 

 

k3 hf xi 0,5h; yi 0,5k2 ,

 

k4 hf xi h; yi

k3 .

 

 

 

 

 

 

 

 

 

 

 

 

 

При решении методом 4-го порядка уменьшение шага в 2 раза уменьшает ошиб-

ку в 16 раз: 24 16 .

 

 

Пример. Решим уравнение y

x / y на отрезке 1;1,5 с шагом

h 0,1 при

начальном значении y 1 9 .

Решение. Первый шаг покажем подробно с большим числом знаков. Учтём, что f x, y x / y , а x0 1, y0 9 . Находим последовательно

k1 h x0 / y0 0,11/ 9 0,1 0,333 3 0,033 33 ; x0 0,5h 1 0,5 0,1 1,05 ;

74

y0 0,5k1 9 0,5 0,033 33 9,016 67 ;

k2 h1,05 / 9,016 67 0,1 0,34125 0,034125 ; y0 0,5k2 9 0,5 0,034 125 9,017 062 ;

по-прежнему x0 0,5h 1 0,5 0,1 1,05 , поэтому

k3 h1,05 / 9,017 062 0,1 0,341 24 0,034 124 ;

x0 h 1 0,1 1,1 и y0 k3 9 0,034124 9,034124 ; k4 h1,1/ 9,034124 0,1 0,348 94 0,034 894 .

Наконец, находим значение функции в следующем узле, то есть в точке x1 1,1:

y1 y0 16 k1 2k2 2k3 k4 9 16 0,204 726 9,034121 .

Все дальнейшие вычисления аналогичны и приведены в таблице.

Таблица (начало)

i

x

i

y

i

k

xi

h

 

yi

k1

k

 

yi

k2

k

3

 

 

 

1

 

 

 

 

 

2

 

 

 

 

 

 

 

 

 

 

2

 

 

2

 

 

 

 

2

 

 

 

 

 

 

 

 

 

 

 

 

 

0

1

9

0,033 33

1,05

 

9,016 67

0,034 13

9,017 06

0,034 12

 

 

 

 

 

 

 

 

 

 

1

1,1

9,034 12

0,034 89

1,15

 

9,051 57

0,035 64

9,051 94

0,035 64

 

 

 

 

 

 

 

 

 

 

2

1,2

9,069 76

0,036 37

1,25

 

9,087 95

0,037 09

9,088 31

0,037 09

 

 

 

 

 

 

 

 

 

 

3

1,3

9,106 85

0,037 78

1,35

 

9,125 74

0,038 46

9,126 08

0,038 46

 

 

 

 

 

 

 

 

 

 

4

1,4

9,145 30

0,039 13

1,45

 

9,164 87

0,039 78

9,165 19

0,039 78

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

5

1,5

9,185 08

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Таблица (окончание)

i

xi h

yi k3

k4

k *

yi 1

0

1,1

9,034 12

0,034 89

0,034 12

9,034 12

 

 

 

 

 

 

1

1,2

9,069 76

0,036 37

0,213 84

9,069 76

 

 

 

 

 

 

2

1,3

9,106 85

0,037 78

0,222 50

9,106 85

 

 

 

 

 

 

3

1,4

9,145 31

0,039 13

0,230 76

9,145 03

 

 

 

 

 

 

4

1,5

9,185 08

0,040 41

0,238 64

9,185 08

 

 

 

 

 

 

5

Точное решение задачи – функция y x3/ 2 26 2 / 3 , вычисление её значений в точках от 1,1 до 1,5 даёт те же результаты, что получены приближённым методом. Более того, значения совпадают до восьмого знака после запятой.

Ответ:

х

1

1,1

1,2

1,3

1,4

1,5

 

 

 

 

 

 

 

 

 

 

75

 

 

 

a0 , b3

у

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

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]