方向加速powell法.cpp

来自「C++最优化方法源程序」· C++ 代码 · 共 25 行

CPP
25
字号
#include "mathyw.h"
#include "iostream.h"
#include "stdlib.h"
#include "math.h"

double fun( double * x );

void main ()
{
	double p[3] = { 0.5, 1, 0.5 };
	double * x = new double[3]; 
	Powell_search( fun, 3, p, x);
	cout<< "x1 = " << x[0] << endl;
	cout<< "x2 = " << x[1] << endl;
	cout<< "x3 = " << x[2] << endl;
	delete[] x;

}

double fun( double * x )
{
	return 100*(x[2]-((x[0]+x[1])/2)*((x[0]+x[1])/2))*(x[2]-((x[0]+x[1])/2)*((x[0]+x[1])/2))
		+( 1 -x[0] )*( 1 -x[0] ) + ( 1- x[1] )*( 1-x[1]);
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?