数学建模社区-数学中国
标题:
数学建模一 单变量优化和求解 进退搜索法
[打印本页]
作者:
佛自业障
时间:
2018-11-1 10:45
标题:
数学建模一 单变量优化和求解 进退搜索法
数学建模一 单变量优化和求解 进退搜索法
* x6 m8 k: D% j( s9 ]* n8 ^& W
: L! o7 @- O5 M W, t
) t0 I& p/ {/ H+ R! h: D( V& y
/ W2 g7 f1 H4 O, `2 h; u$ {4 ]+ D9 r
* m5 I% ~& c; C* F- |
#include<iostream>#include<cmath>using namespace std;double f(double x); //函数f(x)int main() { double x,x0, h, e,b1,b2,f1,f2; h = 1.0; //h为起始搜索步长 e = 0.0001; //搜索终止条件 x0 = 0.0; x = x0; //初始点 b1 = 2.0;b2 = -0.5; //成功则加倍b1前进,失败则小步(b2倍)后退 f1 = f(x0); while (1) //进退搜索法 { f2 = f(x + h); if (f1 > f2) { x = x + h;f1 = f2;h = b1*h; continue; } if (fabs(h) < e) //检查是否满足终止条件 { cout << x << ' ' << f1 << endl; break; } else h = b2*h; } return 0;}double f(double x){ return (pow(x, 4) - 5 * pow(x, 3) + 4 * pow(x, 2) - 6 * x + 60+sin(x));}
5 Q% d7 e% b8 _; e% M, i9 |
! x6 ~7 ~4 V7 ~& I* a$ W2 U
0 b4 J! z; r* q8 f8 N1 C2 m x
, o% h& w% P* C$ f
欢迎光临 数学建模社区-数学中国 (http://www.madio.net/)
Powered by Discuz! X2.5