📄 d11r3.cpp
字号:
#include "iostream.h"
#include "math.h"
double func(double x)
{
return bessj0(x);
}
void main()
{
//program d11r3
//driver for routine brent
double b,ax,bx,cx,fa,fb,fc,tol = 0.000001;
double xmin,eql = 0.0001;
double amin[21];
int iflag,i,nmin = 0;
cout<<endl;
cout<<"minima of the function Bessj0"<<endl;
cout<<endl;
cout<<"min.# x Bessj0(x) Bessj1(x)"<<endl;
cout.setf(ios::fixed|ios::left);
cout.precision(6);
for (i = 1; i<=100; i++)
{
ax = i;
bx = i + 1.0;
mnbrak(ax, bx, cx, fa, fb, fc);
b = brent(ax, bx, cx, tol, xmin);
if (nmin == 0)
{
amin[1] = xmin;
nmin = 1;
cout<<" "<<nmin<<" ";
cout.width(16); cout<<xmin;
cout.width(16); cout<<bessj0(xmin);
cout.width(16); cout<<bessj1(xmin);
cout<<endl;
}
else
{
iflag = 0;
for (int j = 1; j<=nmin; j++)
{
if (fabs(xmin - amin[j]) <= eql * xmin)
{
iflag = 1;
}
}
if (iflag == 0)
{
nmin = nmin + 1;
amin[nmin] = xmin;
cout<<" "<<nmin<<" ";
cout.width(16); cout<<xmin;
cout.width(16); cout<<bessj0(xmin);
cout.width(16); cout<<bessj1(xmin);
cout<<endl;
}
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -