Вторая пачка часть 91
0 THEN DN := TRUE
ELSE
BEGIN
{*** ВОПРОС О НЕОБХОДИМОСТИ БИСЕКЦИИ ***}
IF (ABS(E)>=TOL1) AND
(ABS(FA)>ABS(FB)) THEN
BEGIN
{*** ПРОВЕРКА НА КВАДРАТИЧ. ИНТЕРПОЛЯЦИЮ ***}
IF A<>C THEN
BEGIN
Q := FA / FC; R := FB / FC;
C := FB / FA;
P:= S*(2.0*XM*Q*(Q-R)- (B-A)*(R-1.0));
Q := (Q-1.0)*(R-1.0)*(S-1.0);
END
ELSE
BEGIN S := FB / FA;
P := 2.0*XM*S;
Q := 1.0 - S;
END;
{*** ВЫБОР ЗНАКА ДЛЯ Q ***}
IF P > 0.0 THEN Q := -Q;
P := ABS (P);
{** ВОПРОС О ПРИМЕНИМОСТИ МЕТОДА ИНТЕРПОЛЯЦИИ **}
IF ((2.0*P) < (3.0*XM*Q-ABS(TOL1*Q)))
AND (P < (ABS(0.5*E*Q))) THEN
BEGIN E := D;
D := P/Q; GOTO 30;
END;
END;
D := XM; E := D;
30: A := B;
FA := FB;
IF ABS(D) > TOL1 THEN B := B + D;
IF ABS(D) <= TOL1 THEN
B := B + SIGN(TOL1)*XM;
FB := FUNC (B);
IF (FB*(FC / ABS(FC))) > 0.0 THEN GOTO 20;
END;
UNTIL DN;
ZEROIN := B;
END.
Процедура-функция проверялась на примере р嬬ше¬ния уравнения из п. 2.5 (см. табл. 1.11 и 1.12). Ре¬зуль¬та¬ты работы данной программы при¬во¬дят¬ся ниже:
на отрезке [0, 1]:
x = 0.150858; F(x) = -0.0000000000; i = 5.
на отрезке [-3,-2]:
x = -2.071157; F(x) = -0.0000000001; i = 7.
на отрезке [2, 3]:
x = 1.920299; F(x) = 0.0000000001; i = 7.
2.7. МЕТОДЫ УСКОРЕНИЯ СХОДИМОСТИ
В применении к некоторым уравнениям рас¬смот¬¬рен¬ные итерационные методы сходятся до-вольно мед¬лен¬но. В таких случаях особое зна¬че¬ние приобретают спо¬со¬бы, позволяющие оп¬ти¬ми¬зи¬ро-вать итерационный про¬цесс путем ус¬ко¬ре¬ния схо¬ди¬мости метода итераций. Рас¬смотрим два на¬и¬бо¬лее часто употребляющихся ал¬го¬рит¬ма.
Метод кратного корня. Ускорение сходимости мож¬но получить, если подобрать правую часть ура⬬нения (1.15) так, что
F'(?) = F''(?) = ... = F (m-1)(?) = 0, F (m)(?) ? 0,
где ??- корень уравнения.
Тогда для m = 3 ите¬ра¬ци¬он¬ный процесс будет оп¬ре¬де¬ляться формулой
, (1
Индекс
Элементарные функции
Линейные уравнения
Нелинейные уравнения
Случайные числа