# Вторая пачка часть 80

Вы¬¬ход¬ные: i (тип integer) - количество вы-пол¬нен¬ных ите¬ра¬¬ций; ih (тип integer) - ука¬¬затель причины око¬н¬¬ча¬ния процесса вы¬числений: если ih = 0, то корень урав¬¬¬нения найден с за¬дан¬ной точностью; если ih = 1, то итерации не сходятся к кор¬ню уравнения, и это зна¬¬чит, что на отрезке [а,b] не вы¬пол¬няется ус¬ло¬вие теоремы; если ih = 2, то количество со¬вер¬¬шен¬¬ных итераций превзошло максимально до¬пус¬ти¬¬мое чис¬ло N, что говорит ли¬бо о плохом на¬чаль¬ном при¬бли-жении, либо о ма¬лости величины |F'(х)| в ок¬рест-нос¬ти кор¬ня; x (тип real) - вы¬численное зна¬¬че¬ние корня. PROCEDURE NEWT (N: INTEGER; X0,EPS:REAL; VAR I,IH:INTEGER; VAR X:REAL); VAR DEL,XS,DEL0,Y: REAL; BEGIN DEL0 := 1.E12; XS := X0; I := 0; IH := 0; REPEAT Y := FUNCP (XS); X := XS - FUNC (XS) / Y; DEL := ABS ( X - XS); IF DEL <= DEL0 THEN BEGIN IF I>N THEN BEGIN IH := 2; EXIT; END; INC(I); XS := X; DEL0 := DEL; END ELSE BEGIN IH := 1; EXIT; END; UNTIL DEL < EPS; END. Для проверки процедуры решалось урав-не¬ние F(х) = еx — 10х. Все вычисления выполнялись с точ¬нос¬тью до 10-4. Оче¬видно, что это уравнение не может быть ре¬ше¬но ана¬ли¬ти¬ческими методами. Корни уравнения ?1 и??? лег¬ко опре¬де-лить гра¬¬¬фи¬чес¬ки (рис. 1.3). Ес¬ли пре¬об¬ра¬зо¬¬вать ис¬¬ход¬ное урав¬нение к виду y = еx; y= 10х, то пер¬¬¬¬вый ко¬рень будет ле¬жать на отрезке [0, 1], а вто¬рой - [3, 4]. Оп¬ре¬де¬лим ??. Для этого оценим про¬¬из¬вод¬¬ные F'(х) и F"(х) на най¬¬ден¬¬ных от¬рез-ках: F'(х) = еx - 10; F"(х) = -еx . Очевидно, что F"(х) со¬хра¬ня¬ет свой знак во всей об¬¬¬¬лас¬ти оп¬ределения, в том числе и на ука¬зан-ных от¬¬¬резках. При этом Если требуемая точность 0.0001, то в условии окон¬¬чания процесса: ; В качестве начального приближения на от¬рез¬¬ке [0, 1] выбираем х0 = 0, а на отрезке [3, 4] - х0 = 3. Процедуры-функции FUNC и FUNCP будут вы¬гля¬¬деть следующим образом: FUNCTION FUNC (X:REAL): REAL; BEGIN F UNC := 10

Индекс
Элементарные функции Линейные уравнения Нелинейные уравнения Случайные числа