?? extremum.h
字號:
// Extremum.h 計算極值函數(shù)頭文件
// Ver 1.0.0.0
// 版權(quán)所有(C) 何渝, 2002
// 最后修改: 2002.9.6.
#ifndef _EXTREMUM_H //避免多次編譯
#define _EXTREMUM_H
#include <comm.h> //公共頭文件
#include <random.h> //隨機數(shù)頭文件
#include <Matrix.h> //矩陣類及相關(guān)函數(shù)頭文件
#include <valarray> //模板類valarray的標準頭文件
using namespace std; //名字空間
//一維極值連分式法
template <class _Ty>
void ExtremumFraction1D(valarray<_Ty>& x, _Ty eps,
int k, valarray<int>& js);
//n維極值連分式法
template <class _Ty>
void ExtremumFractionND(valarray<_Ty>& x, _Ty eps,
int k, valarray<int>& js);
//線性規(guī)劃
template <class _Ty>
int ExtremumLinePrograming(matrix<_Ty>& a, valarray<_Ty>& b,
valarray<_Ty>& c, valarray<_Ty>& x);
//n維極值單形調(diào)優(yōu)法
template <class _Ty>
int ExtremumSimplexND(_Ty d, _Ty u, _Ty v, valarray<_Ty>& x,
_Ty eps, int k, matrix<_Ty>& xx, valarray<_Ty>& f);
//n維極值復(fù)形調(diào)優(yōu)法
template <class _Ty>
int ExtremumComplexND(int m, valarray<_Ty>& a, valarray<_Ty>& b,
_Ty alpha, _Ty eps, valarray<_Ty>& x, matrix<_Ty>& xx, int k);
//確定1維函數(shù)極小值點所在區(qū)間
template <class _Ty>
void MinimizerInterval(_Ty& ax, _Ty& bx, _Ty& cx, _Ty& fa, _Ty& fb, _Ty& fc);
//確定1維函數(shù)極小值點所在區(qū)間(重載)
template <class _Ty>
int MinimizerInterval(_Ty& ax, _Ty& bx, _Ty& cx, int& sign,
_Ty b, _Ty& fa, _Ty& fb, _Ty& fc);
//1維函數(shù)極小值的黃金分割法
template <class _Ty>
_Ty ExtremumGold1D(_Ty ax, _Ty bx, _Ty cx, int sign, _Ty tol, _Ty& xmin);
//1維函數(shù)極小值的不用導(dǎo)數(shù)布倫特(Brent)法
template <class _Ty>
_Ty ExtremumBrentNonDerivative1D(_Ty ax, _Ty bx, _Ty cx, int sign,
_Ty tol, _Ty& xmin);
#include "Extremum.inl" //類及相關(guān)函數(shù)的定義頭文件
#endif // _EXTREMUM_H
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -