dlinmin.h
来自「经典numerical receip 配套代码」· C头文件 代码 · 共 26 行
H
26 行
template <class T>
struct Dlinmin {
VecDoub &p;
VecDoub ξ
Doub &fret;
Df1dim<T> df1dim;
Mnbrak mnbrak;
Dbrent dbrent;
Dlinmin(VecDoub_IO &pp, VecDoub_IO &xii, Doub &frett, T &funcd) :
p(pp), xi(xii), fret(frett), df1dim(p,xi,funcd) {}
void min()
{
const Doub TOL=1.0e-8;
Doub xx,xmin,fx,fb,fa,bx,ax;
Int n=p.size();
ax=0.0;
xx=1.0;
mnbrak.bracket(ax,xx,bx,fa,fx,fb,df1dim);
fret=dbrent.min(ax,xx,bx,df1dim,TOL,xmin);
for (Int j=0;j<n;j++) {
xi[j] *= xmin;
p[j] += xi[j];
}
}
};
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?