logo资料库

Wolfe Powell 最优化方法 C++ 程序.doc

第1页 / 共4页
第2页 / 共4页
第3页 / 共4页
第4页 / 共4页
资料共4页,全文预览结束
#include #include int const n=2; double const c1=0.1; double const c2=0.5; # define eps 1e-6 double fun(double x1, double x2) { double f=0; f+=100*pow(x1,4)+pow(x1,2)-2*x1; f+=100*pow(x2,2); f+=(-1)*pow(x1,2)*x2+1; // cout<<"f="<
cout<<"条件 1 左侧 fk-fk1="<
double min(double x, double y) { if(x>y) else return y; return x; } void main() { // // double x[n]={0,0,0};//函数自变量初值 double f0;//函数值 double g0[n];//梯度的值 double xk[n]={-1,1};//梯度的值 double xk1[n]; double sk[n]={1,1}; gradient(xk[0],xk[1],g0); static double a=0, b=0, lamda=1, j=0; while(true) { get_x(lamda,xk,sk, xk1); for(int i=0;i
分享到:
收藏