gauleg.dem

来自「Delphi Pascal 数据挖掘领域算法包 数值算法大全」· DEM 代码 · 共 46 行

DEM
46
字号
PROGRAM d4r8(input,output);
(* driver for routine GAULEG *)
CONST
   npoint=10;
   x1=0.0;
   x2=1.0;
   x3=10.0;
   nval=10;
TYPE
   double = real;
   darray=ARRAY [1..npoint] OF double;
VAR
   i,j : integer;
   xx : real;
   x,w : darray;

FUNCTION func(x: real): real;
BEGIN
   func := x*exp(-x)
END;

FUNCTION sngl(x : real): real;
BEGIN
   sngl := x
END;

(*$I GAULEG.PAS *)

BEGIN
   gauleg(x1,x2,x,w,npoint);
   writeln;
   writeln('#':2,'x[i]':11,'w[i]':12);
   FOR i := 1 to npoint DO BEGIN
      writeln(i:2,x[i]:12:6,w[i]:12:6)
   END;
(* demonstrate the use of gauleg for an integral *)
   gauleg(x1,x3,x,w,npoint);
   xx := 0.0;
   FOR i := 1 to npoint DO BEGIN
      xx := xx+sngl(w[i])*func(sngl(x[i]))
   END;
   writeln;
   writeln('Integral from GAULEG: ',xx:12:6);
   writeln('Actual value: ',((1.0+x1)*exp(-x1)-(1.0+x3)*exp(-x3)):12:6)
END.

⌨️ 快捷键说明

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