d11r2.cpp
来自「工程算法 这是一个很有用的工程数值算法集锦」· C++ 代码 · 共 60 行
CPP
60 行
#include "iostream.h"
#include "math.h"
double func(double x)
{
return bessj0(x);
}
void main()
{
//program d11r2
//driver for routine golden
double g,ax,bx,cx,fa,fb,fc,tol = 0.000001;
double xmin,eql = 0.001;
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;
for (i = 1; i<=100; i++)
{
ax = i;
bx = i + 1.0;
mnbrak(ax, bx, cx, fa, fb, fc);
g = golden(ax, bx, cx, tol, xmin);
if (nmin == 0)
{
amin[1] = xmin;
nmin = 1;
cout.width(4); cout<<nmin;
cout.width(13); cout<<xmin;
cout.width(15); 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.width(4); cout<<nmin;
cout.width(13); cout<<xmin;
cout.width(15); cout<<bessj0(xmin);
cout.width(16); cout<<bessj1(xmin);
cout<<endl;
}
}
}
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?