📄 linmin.cpp
字号:
#include "stdafx.h"
#include "Mnbrak.h"
#include "F1dim.h"
#include "Brent.h"
#define TOL 2.0e-4
int ncom=0; /* defining declarations */
double *pcom=0,*xicom=0,(*nrfunc)(double[]);
void linmin(double p[],double xi[],int n,\
double *fret,double (*func)(double[]))
{
int j;
double xx,xmin,fx,fb,fa,bx,ax;
ncom=n;
pcom=new double[n+1];
xicom=new double[n+1];
nrfunc=func;
for (j=1;j<=n;j++) {
pcom[j]=p[j];
xicom[j]=xi[j];
}
ax=0.0;
xx=1.0;
bx=2.0;
mnbrak(&ax,&xx,&bx,&fa,&fx,&fb,f1dim);
*fret=brent(ax,xx,bx,f1dim,TOL,&xmin);
for (j=1;j<=n;j++) {
xi[j] *= xmin;
p[j] += xi[j];
}
delete xicom,pcom;
}
#undef TOL
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -