24 lines
717 B
ObjectPascal
24 lines
717 B
ObjectPascal
uses NumLibABC;
|
|
|
|
// Ñëó÷àéíûé ïîèñê BestP
|
|
begin
|
|
var f:function(x:array of real):real:= x->Power(x[0],4)+
|
|
Power(x[1],4)-2*Sqr(x[0])+4*x[0]*x[1]-2*Sqr(x[1])+3;
|
|
var a:=Arr(-20.0,-20.0); // íèæíèå ãðàíèöû
|
|
var b:=Arr(20.0,20.0); // âåðõíèå ãðàíèöû
|
|
var x:=new real[a.Length]; // äëÿ êîíñòðóêòîðà MinHJ
|
|
var oL:=new FMinN(x,f);
|
|
var r:=oL.BestP(a,b,0.01);
|
|
var y:real;
|
|
var fet:=f(Arr(Sqrt(2),-Sqrt(2)));
|
|
foreach var t in r do begin
|
|
(y,x):=(t[0],t[1]);
|
|
Write('Âåêòîð àðãóìåíòîâ: '); x.Println;
|
|
Write('Àáñ.ïîãðåøíîñòè: ');
|
|
x.Foreach(z->WriteFormat('{0:0.0e0} ',Abs(z)-Sqrt(2)));
|
|
Writeln;
|
|
Writeln('Çíà÷åíèå ôóíêöèè: ', y, ', àáñ.ïîãðåøíîñòü: ',Abs(y-fet));
|
|
Writeln
|
|
end
|
|
end.
|