⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 mnewt.dem

📁 Delphi Pascal 数据挖掘领域算法包 数值算法大全
💻 DEM
字号:
PROGRAM d9r13(input,output);
(* driver for routine MNEWT *)
CONST
   ntrial=5;
   tolx=1.0e-6;
   n=4;
   np=n;
   tolf=1.0e-6;
TYPE
   glnarray = ARRAY [1..n] OF real;
   glnbyn = ARRAY [1..n,1..n] OF real;
   glindx = ARRAY [1..n] OF integer;
   glnpbynp = glnbyn;
VAR
   i,j,k,kk : integer;
   xx : real;
   x,beta : glnarray;
   alpha : glnbyn;

PROCEDURE usrfun(x: glnarray; n: integer; VAR alpha: glnbyn;
       VAR beta: glnarray);
(* Programs using routine USRFUN must define the types
TYPE
   glnarray = ARRAY [1..n] OF real;
   glnbyn = ARRAY [1..n,1..n] OF real;
in the main routine. *)
BEGIN
   alpha[1,1] := -2.0*x[1];
   alpha[1,2] := -2.0*x[2];
   alpha[1,3] := -2.0*x[3];
   alpha[1,4] := 1.0;
   alpha[2,1] := 2.0*x[1];
   alpha[2,2] := 2.0*x[2];
   alpha[2,3] := 2.0*x[3];
   alpha[2,4] := 2.0*x[4];
   alpha[3,1] := 1.0;
   alpha[3,2] := -1.0;
   alpha[3,3] := 0.0;
   alpha[3,4] := 0.0;
   alpha[4,1] := 0.0;
   alpha[4,2] := 1.0;
   alpha[4,3] := -1.0;
   alpha[4,4] := 0.0;
   beta[1] := sqr(x[1])+sqr(x[2])+sqr(x[3])-x[4];
   beta[2] := -sqr(x[1])-sqr(x[2])-sqr(x[3])-sqr(x[4])+1.0;
   beta[3] := -x[1]+x[2];
   beta[4] := -x[2]+x[3]
END;

(*$I MODFILE.PAS *)
(*$I LUBKSB.PAS *)

(*$I LUDCMP.PAS *)

(*$I MNEWT.PAS *)

BEGIN
   FOR kk := 1 to 2 DO BEGIN
      FOR k := 1 to 3 DO BEGIN
         xx := 0.2*k*(2*kk-3);
         writeln('Starting vector number',k:2);
         FOR i := 1 to 4 DO BEGIN
            x[i] := xx+0.2*i;
            writeln('x[':7,i:1,']  :=  ',x[i]:5:2)
         END;
         writeln;
         FOR j := 1 to ntrial DO BEGIN
            mnewt(1,x,n,tolx,tolf);
            usrfun(x,n,alpha,beta);
            writeln('i':5,'x[i]':13,'f':13);
            FOR i := 1 to n DO BEGIN
               writeln(i:5,x[i]:14:6,-beta[i]:15:6)
            END;
            writeln;
            writeln('press RETURN to continue...');
            readln
         END
      END
   END
END.

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -