rtbis.txt
来自「《Delphi常用数值算法集》的配书源码」· 文本 代码 · 共 31 行
TXT
31 行
Function RTBIS(X1, X2, XACC:real):real;
Label 99;
var
DX,FMID,F,XMID,RTB:real; J,JMAX:integer;
begin
JMAX:=40;
FMID:=FUN(X2);
F:=FUN(X1);
If F * FMID >= 0 Then
ShowMessage('Root must be bracketed for bisection.');
If F < 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:=FUN(XMID);
If FMID <= 0 Then RTB:=XMID;
If (Abs(DX) < XACC) Or (FMID = 0) Then goto 99;
End;
ShowMessage('too many bisections');
99: RTBIS:=RTB;
end;
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?