Контрольная работа: Методы синтеза и оптимизации
Var i:integer; fp,fo:real;
begin
for i:=1 to n do
begin
x[i]:=x[i]+e;
fp:=F(x);
x[i]:=x[i]-2*e;
fo:=F(x);
x[i]:=x[i]+e;
g[i]:=(fp-fo)/2/e;
end;
end;
procedure Opgrad(n: integer; e: real; var xk: Artype; Nmax: integer;
prn: byte; var Fopt: real; var nn: integer; F: Funop);
Label 1;
Var dk:Artype;//Градиент
od{нормавектор-градиента},
lambda{шаг},s,sf:real;
i:integer;
Function FF(x:real):real;
Var i:integer;
begin
for i:=1 to n do
xk[i]:=xk[i]+abs(x)*dk[i]/od;
FF:=F(xk);
for i:=1 to n do
xk[i]:=xk[i]-abs(x)*dk[i]/od;
end;
Procedure Min(a0,b0,e:real; Var xm,ym:real);// Метод Дихотомии