24 lines
717 B
ObjectPascal
24 lines
717 B
ObjectPascal
|
|
uses NumLibABC;
|
|||
|
|
|
|||
|
|
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> 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); // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
var b:=Arr(20.0,20.0); // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
var x:=new real[a.Length]; // <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 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('<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>: '); x.Println;
|
|||
|
|
Write('<27><><EFBFBD>.<2E><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>: ');
|
|||
|
|
x.Foreach(z->WriteFormat('{0:0.0e0} ',Abs(z)-Sqrt(2)));
|
|||
|
|
Writeln;
|
|||
|
|
Writeln('<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>: ', y, ', <20><><EFBFBD>.<2E><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>: ',Abs(y-fet));
|
|||
|
|
Writeln
|
|||
|
|
end
|
|||
|
|
end.
|