Вторая пачка часть 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
Индекс
Элементарные функции    Линейные уравнения    Нелинейные уравнения    Случайные числа


Hosted by uCoz