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

📄 rtbis.pas

📁 Delphi Pascal 数据挖掘领域算法包 数值算法大全
💻 PAS
字号:
FUNCTION rtbis(x1,x2,xacc: real): real;
(* Programs using routine RTBIS must externally define a function
fx(x:real):real which is to be analyzed for roots. *)
LABEL 99;
CONST
   jmax=40;
VAR
   dx,f,fmid,xmid,rtb: real;
   j: integer;
BEGIN
   fmid := fx(x2);
   f := fx(x1);
   IF ((f*fmid) >= 0.0) THEN BEGIN
      writeln('pause in RTBIS');
      writeln('Root must be bracketed for bisection.'); readln
   END;
   IF (f < 0.0) THEN BEGIN
      rtb := x1;
      dx := x2-x1
   END ELSE BEGIN
      rtb := x2;
      dx := x1-x2
   END;
   FOR j := 1 TO jmax DO BEGIN
      dx := dx*0.5;
      xmid := rtb+dx;
      fmid := fx(xmid);
      IF (fmid <= 0.0) THEN rtb := xmid;
      IF ((abs(dx) < xacc) OR (fmid = 0.0)) THEN GOTO 99
   END;
   writeln('pause in RTBIS - too many bisections'); readln;
99:   rtbis := rtb
END;

⌨️ 快捷键说明

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