Оптимизация химико-технологических процессов органического синтеза. Бочкарев В.В - 83 стр.

UptoLike

Составители: 

83
If F2 < F1 then begin
i:=x3 - x1; x0:=x1; x1:=x2; x2:=x0 + t2*i; F1:=F2;
Fx(F2,x2); end {end then}
else begin
i:=x2 - x0; x3:=x2; x2:=x1; x1:=x0 + t1 * i; F2:=F1;
Fx(F1,x1);
end; {end if}
end; {end while}
x:=x1; F:=F1;
END;
{****************************************************************}
begin
A:=0; B:=6.28; E:=0.00001;
GoldMin(A,B,E,x,F);
Writeln(x,F);
end.
3. Подпрограмма нахождения максимума функции(Qbasic)
SUB Goldmaximum (A, B, E, x, F)
REM Подпрограмма производит поиск интервала {X1,X2},
REM в котором лежит точка максимума функции F(x)
REM методом " золотого сечения"
REM F(x) определяется в подпрограмме Func
REM А,В - интервал возможного варьирования переменной х
REM А - нижний предел; В - верхний предел
REM Е - относительная погрешность вычислений
REM (относительно интервала А - В) (Х2-Х1)<=Е*(В-А)
t1 = .3819660113#: t2 = 1 - t1
x0 = A: x1 = A + t1 * (B - A): x2 = A + t2 * (B - A): x3 = B
CALL Func(x1, F1)
CALL Func(x2, F2)
DO
IF F2 < F1 THEN
i = x2 - x0: x3 = x2: x2 = x1: x1 = x0 + t1 * i: F2 = F1
CALL Func(x1, F1)
ELSE
i = x3 - x1: x0 = x1: x1 = x2: x2 = x0 + t2 * i: F1 = F2
CALL Func(x2, F2)
END IF
Nitro PDF Trial
www.nitropdf.com