📄 rtbis.cpp
字号:
double rtbis(double x1,double x2,double xacc)
{
int jmax,j;
double fmid,f,xmid,dx,t;
jmax = 40;
fmid = func(x2);
f = func(x1);
if ((f * fmid) >= 0.0)
{
cout<< "root must be bracketed for bisection."<<endl;
}
if (f < 0.0)
{
t = x1;
dx = x2 - x1;
}
else
{
t = x2;
dx = x1 - x2;
}
for (j = 1; j<=jmax; j++)
{
dx = dx * 0.5;
xmid = t + dx;
fmid = func(xmid);
if (fmid <= 0)
{
t= xmid;
}
if ((fabs(dx) < xacc) || (fmid == 0)) break;
}
return t;
cout<< "too many bisections"<<endl;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -