Главная -> Книги

(0) (1) (2) (3) (4) (5) (6) (7) (8) (9) (10) (11) (12) (13) (14) (15) (16) (17) (18) (19) (20) (21) (22) (23) (24) (25) (26) (27) (28) (29) (30) (31) (32) (33) (34) (35) ( 36 ) (37) (38) (39) (40) (41) (42) (43) (44) (45) (46) (47) (48) (49) (50) (51) (52) (53) (54) (55) (56) (57) (58) (59) (60) (61) (62) (63) (64) (65) (66) (67) (68) (69) (70) (71) (72) (73) (36)

Ввод; данные f(x, у) при х-РО и г/-> РА, хо = РВ, г/и = PC и h = РД. Вывод: X, РХ = РВ, г/, PY = PC.

ИПВ ПО ИПС ПА ПП 33 ИПД X 2

ЙПС + ПА ИПВ ИПД 2 ~ + ПО ПП

33 ИПД X ИПС + ПС ИПВ ИПД + ПВ

С/П БП 00 ............ ...... В/О

Для ранее приведенного примера имеем Xi = 0,1, = 0,905, Х2 = 0,2, уг = 0,819025, Хз = 0,3, уъ = 0,74121763 и т. д.

Простейшей реализацией методов прогноза и коррекции является усовершенствованный метод Эйлера - Коши. В нем сначала нычисляетоя приближенное значение

Vi\=Vi\h\{x, у

простым методом Эйлера (прогноз). Затем оно корректируется с помощью формулы

= + у[/(ji. + Ki+i.

программа 6.59. Решение дифференциального уравнения усовершенствованным методом Эйлера - Коши. Ввод; данные /(х, у) при х->РВ, -РА, Хо = РВ, 0 = PC и Л = РД. Вывод: Х(-+-РХ =, = РВ, yi PY = PC.

ИПС ПА ПП 29 ПО ИПД X ИПС -Ь ПА ИПВ ИПД -Ь ПВ ПП 29 ИПО + 2 ИПД X ИПС Ч- ПС ИПВ С/П БП 00 ... ........................... В/О

Для нспользовапного выше примера имеем Xi =0,1, г/i = 0,905, Хг = 0,2, уг = 0,819025, Хз = 0,3, уг = 0,74121763 и т, д.

Программа 5.60. Решение дифференциального уравнения методом Рунге -Кутта 4-го порядка:

. + 1 = +{1+22 + 23 + /6.

1 = h\ (--г г/.-); 2 = (i + /2. + i/2); /<3 = Л/ -f Л/2, + К2)- К, = Л/ (X. + Л, + К.

Ввод: данные \[х, у) при хРО и (/-РВ, 2 = РА, ,vo = РЦ Уо = РХ (регистры О, А. В, С и Д заняты), Вынод: xi-> РХ = РО, f,,->PY = PB.

ПД ПП 34 ПД ПП 30 + ПД F, ИПВ -f . ПВ ПВ ИПО С/П ИПВ БП 01

......... t ИПА X

F, t t ИПД + В/О



Для указанного ранее контрольного примера будем иметь Xi = = 0,1, 1 = 0,9048375, «2 = 0,2, {/2 = 0,81873086, Хз = 0,3; з = = 0,7408184 и т. Д.

В табл. 5.6 дано сравнение результатов решения уравнения (5.34) методами Эйлера и Рунге -Кутта. Хотя точность последнего существенно выше, время вычисления также возрастает. Поэтому, если погрешность решения дифференциального уравнения относительно велика (порядка единиц процентов), то применение даже простого метода Эйлера вполне возможно (табл. 5.6).

Таблица 5.6

Метод *)

Точное решение

Эйлера простой

Эйлера модифицированный

Эйлера - Коша

Рунге - Кутта

0,905

0,905

0,9048375

0,90483743

0,69049

0,60707576

0,60707578

0,6065309

0,60653064

0,34867844

0,36354098

0,368541

0,36787976

0,36787944

0,20589114

0,2237323

0,22373232

0,22313042

0,22313016

0,12157667

0,13582248

0.13582247

0.13533549

0.13533529

*) Время вычислений указанными методами составляет иа одном шаге соответственно 5, 13, 12 и 30 с.

К многошаговым методам решения днфференнцальны.х уравнений относится метод Адамса. В нем по ряду предшествующих значений у(х) с помощью полинома Лагранжа вычисляется очередное значение у(х). В зависи.мости от числа предшествующих значений у{х) порядок метода Адамса может быть различным. Достоинство метода - вычисление очередного значения yi+i требует лишь одного обращения к функции f{x, у), что заметно ускоряет счет при сложных f(x, у). Однако метод Адамса лишен возможности «самостарто-вания», так как предварительно надо найти ряд предшествующих значений у(х) какими-либо другими методами.

Программа 5.61. Реализация метода Адамса второго порядка:

Ввод: данные у=f(x, у) при х-РА и .iy->-PB, (xo+h)-PA, у I = РВ, г/о = РС и ft = РД. Вывод: xi-PX = РА, y,PY=PB.

ПП 23 ИПС XY ПС 3 X - ИПД /-/ X 2 -г- ИПВ -Ь ПВ ИПА ИПД + ПА С/П БП 00 .................. В/О



Решим уравнение (5.34) при Хц = 0. Уо = h т = 1 и ft = 0,1. Для старта воспользуемся результатом расчета у = 0,905 при jci = 0,1, вычисленный по методу Эйлера - Коши. Имеем также

j(o= -УоЛ = -1- Введя эти данные, будем получать значения xi и yi, начиная с ( = 2, приведенные в табл, 5.7.

Таблица 5.7

Метод •)

Точное значение

Адамса

Адамса

Адамса

Эйлера - Адамса

0,1 0,2 0,3 0,4

0,81925 0,7416125 0,67133313 0.60771379

0,74078578

0,6702644

0,60645471

0,67032313 0,60653567

0.903

0.81925

0,7416125

0.67133313

0,60771379

0,90483743 0,81873072 0.74081822 0.67032004 0.60653064

0.36940619

0.36775653

0.36789008

0,36940619

0,36787944

0,22454802

0.22300898

0,22314117

0,22454302

0.22313016

0,13649423

0,13523351

0,13534472

0,13649423

6.Г3533529

•) Время вычисления указанными методами на одном шаге составляет соответственно 8. 10, 13 и 10 с.

Программа 5.62. Реализация метода Адамса третьего порядка:

yi+i=+Л (23; - 1б; 1 + 5; 2)/12.

Ввод: данные y = f(x, у) при д:->РО и -<-РА. (xo+2ft)=PO.

j, = РА, РВ, «/ - PC и Л = РД, Вывод: х,-РХ = Р0, (/, PY = РА.

ИПС 5 X ИПВ ПС 1 6 X - П1

ПП 33 ПВ 2 3 X ИП1 + ИПД X

1 2 -7- ИПА + ПА ИШ ИПД 4- • ПО

С/П ВП 00 .................. В/О

Для контроля этой программы по приведенному выше примеру воспользуемся дополнительно результатами, полученными методом Рунге - Кутга: уг = 0,81873086, г/, = - 0,9048375 и = - ]. Результаты вычислений даны в табл. 5.7.

Программа 5.63. Реализация метода Адамса четвертого порядка;

= У. + Л (SSj/f - i-l + 37</i-2 - 9jj-3)/24.



(0) (1) (2) (3) (4) (5) (6) (7) (8) (9) (10) (11) (12) (13) (14) (15) (16) (17) (18) (19) (20) (21) (22) (23) (24) (25) (26) (27) (28) (29) (30) (31) (32) (33) (34) (35) ( 36 ) (37) (38) (39) (40) (41) (42) (43) (44) (45) (46) (47) (48) (49) (50) (51) (52) (53) (54) (55) (56) (57) (58) (59) (60) (61) (62) (63) (64) (65) (66) (67) (68) (69) (70) (71) (72) (73)