⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 extremumcomplexnd.cpp

📁 何光渝所著《计算机常用数值算法与程序(C++版)》的随书源代码。 是想学习C++科学计算的人士的必看代码。
💻 CPP
字号:
//ExtremumComplexND.cpp	n维极值复形调优法

#include <iostream>		//模板类iostream输入输出流标准头文件
#include "Extremum.h"	//极值头文件

void main(void)
{	
	valarray<long double> x(3);
	valarray<long double> a(2);
	valarray<long double> b(2);
	matrix<long double> xx(3,4);
	long double eps = LONGDOUBLEERROR, alpha=1.3;

	x[0] = x[1] = 0;
    a[0] = a[1] = 0;
    b[0] = b[1] = 1.0e+35;

    int i = ExtremumComplexND(2,a,b,alpha,eps,x,xx,200);

	cout << "i = " << i << endl << endl;

	for (i=0; i<4; i++)
		cout << "x(0) = " << xx(0,i) << "\t x(1) = " << xx(1,i) 
									<< "\t f = " << xx(2,i) << endl;
	
	cout << endl;

    for (i=0; i<2; i++)
		cout << "x(" << i << ") = " << x[i] << endl;

	cout << endl;

    cout << "J = " << x[2] << endl;
}

//*	计算目标函数值
template <class _Ty> 
_Ty FunctionValueTarget(valarray<_Ty>& x, int n)
{
	_Ty y;
	
    y = -(9.0 - (x[0] - 3.0) * (x[0] - 3.0));
    y = y * x[1] * x[1] * x[1] / (27.0 * sqrt(3.0));

    return(y);
}

//*	计算函数约束条件的上、下限及条件值
template <class _Ty> 
void ConditionValue(int n, int m, valarray<_Ty>& x, valarray<_Ty>& c,
									valarray<_Ty>& d, valarray<_Ty>& w)
{

    c[0] = c[1] = 0.0;

    d[0] = x[0] / sqrt(3.0);
	d[1] = 6.0;

    w[0] = x[1];
	w[1] = x[0] + x[1] * sqrt(3.0);

	return;
}

⌨️ 快捷键说明

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