数学建模社区-数学中国

标题: 数学建模一 单变量优化和求解 进退搜索法 [打印本页]

作者: 佛自业障    时间: 2018-11-1 10:45
标题: 数学建模一 单变量优化和求解 进退搜索法
数学建模一 单变量优化和求解 进退搜索法8 L5 R& @1 i5 O- u, W

% _0 I0 M* j; [2 Z1 Q; x' R; W; j% J7 l. C# B5 c& u* e# U
' B! F1 w8 l# o! E
. V5 w8 [. M% F# S3 O  C  t" L
#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));}
) [1 h9 G+ T7 c- n2 ?: u! f8 Z% C' b8 y4 t- ]( p. n& W
' z8 B8 k9 P1 A& Z2 V3 z/ }& F* b0 m

3 ^- P# h7 V( l- o% y. n' c




欢迎光临 数学建模社区-数学中国 (http://www.madio.net/) Powered by Discuz! X2.5