?? extremumcomplexnd.cpp
字號(hào):
//ExtremumComplexND.cpp n維極值復(fù)形調(diào)優(yōu)法
#include <iostream> //模板類iostream輸入輸出流標(biāo)準(zhǔn)頭文件
#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;
}
//* 計(jì)算目標(biāo)函數(shù)值
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);
}
//* 計(jì)算函數(shù)約束條件的上、下限及條件值
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;
}
?? 快捷鍵說(shuō)明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號(hào)
Ctrl + =
減小字號(hào)
Ctrl + -