?? d11r4.cpp
字號:
#include "iostream.h"
#include "math.h"
#include "stdlib.h"
double func(double x)
{
return bessj0(x);
}
double deriv(double x)
{
return -bessj1(x);
}
void main()
{
//program d11r4
//driver for routine dbrent
double dbr,ax,bx,cx,fa,fb,fc,tol = 0.000001;
double xmin;
double 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) dbrent"<<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);
dbr = dbrent(ax, bx, cx, tol, xmin);
if (nmin == 0)
{
amin[1] = xmin;
nmin = 1;
cout<<" "<<nmin<<" ";
cout.width(14); cout<<xmin;
cout.width(14); cout<<bessj0(xmin);
cout.width(14); cout<<deriv(xmin);
cout.width(14); cout<<dbr;
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(14); cout<<xmin;
cout.width(14); cout<<bessj0(xmin);
cout.width(14); cout<<deriv(xmin);
cout.width(14); cout<<dbr;
cout<<endl;
}
}
}
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -