Вторая пачка часть 121


В заключение краткого обзора отметим, что метод Эй¬лера с итерационным уточнением на¬и¬бо¬лее часто при¬меняется в вычислительной прак¬ти¬ке, так как дает по¬грешность порядка h2 , т.е. от¬но¬сится к методам вто¬ро¬го порядка, несмотря на то, что сам метод Эйлера яв¬ля¬ется методом пер¬во¬го порядка. При решении обыкновенных диф¬фе¬ре¬н-ци¬аль¬ных урав¬нений методом Эйлера с ите¬ра¬ци-он¬ны¬м уточ¬не¬ни¬ем значения уk+1 удобно пользоваться под¬про¬грам¬мой-функцией, формальные значения па¬раметров ко¬то¬рой не приводятся в виду прос¬то¬ты и понятности пред-ла¬гаемой процедуры: FUNCTION EYLER ( X,Y,H,EPS : REAL) : REAL; VAR YK, Y0 : REAL; DN : BOOLEAN; BEGIN DN := FALSE; Y0 := Y + FUNC (X,Y) * H; REPEAT YK := Y + FUNC (X,Y0) * H * 0.5; IF ABS ( YK - Y0) < EPS THEN DN := TRUE; Y0 := YK; UNTIL DN; EYLER := Y0; END. В подпрограмме-функции EYLER исполь¬зу¬ется про¬ц嬬ду¬ра-функция FUNC(х,у) для вы¬чис¬ления правой час¬ти за¬да¬чи. Ее следует составлять для каждого случая от¬дель¬но. Для проверки и тестирования процедуры сос¬та¬вим таб¬ли¬цу приближенных зна¬чений интеграла диффе¬рен¬ци¬аль¬ного урав¬не¬ния у' = х + соs (0.7 - у) на отрезке [0.7; 1.7] с ша¬гом h= 0.1, удовлетворяющего начальным ус¬ло¬ви¬ям у0(0.7) = =1.1, используя метод Эйлера с уточ¬нением. Все вы¬чис¬ле¬ния произведем с точ¬нос¬тью 10-5. Процедура-функция, по которой вычисляется пра¬вая часть уравнения, выглядит: FUNCTION FUNC (X,Y: REAL) : REAL; BEGIN FUNC := X + COS (0.7 * Y); END; Результаты работы программы приводятся в табл. 4.2. Таблица 4.2 Решение дифференциального уравнения у' = х + соs (0.7 - у) при h = 0.1 при h = 0.05 x = 0.70000 y = 1.100000 x = 0.700000 y = 1.100000 x = 0.750000 y = 1.135017 x = 0.80000 y = 1.169169 x = 0.800000 y = 1.170830 x = 0.850000 y = 1.207420 x = 0.90000 y = 1.241447 x = 0.900000 y = 1.244765 x = 0.950000 y = 1.282844 x = 1.000000 y = 1.316671 x = 1.000000 y = 1.321637 x = 1.050000 y = 1
Индекс
Элементарные функции    Линейные уравнения    Нелинейные уравнения    Случайные числа


Hosted by uCoz