- 在线时间
- 90 小时
- 最后登录
- 2018-12-27
- 注册时间
- 2016-4-22
- 听众数
- 17
- 收听数
- 0
- 能力
- 20 分
- 体力
- 23472 点
- 威望
- 2 点
- 阅读权限
- 200
- 积分
- 7535
- 相册
- 0
- 日志
- 0
- 记录
- 0
- 帖子
- 126
- 主题
- 100
- 精华
- 2
- 分享
- 0
- 好友
- 6
升级   50.7% TA的每日心情 | 开心 2018-6-4 15:01 |
|---|
签到天数: 7 天 [LV.3]偶尔看看II
 群组: 2018年大象老师国赛优 群组: 高考备战 群组: 2018中小学数学建模冬 |
数学建模二 单变量优化和求解 黄金分割法#include<iostream>#include<cmath>using namespace std;double f(double x);int main(){ double a, b, c,d,t, e,f1,f2; e = 0.00001; //e为终止条件 a = 0.0;b = 5.0; //a,b为区间端点 t = b - a; //t为区间长度 while (1) { c = a + (1 - 0.618)*t; //左黄金分割点 d = a + 0.618*t; //右黄金分割点 f1 = f(c);f2 = f(d); //分割点函数值 if (f1 > f2) { a = c;t = b - a; } else { b = d;t = b - a; } if (t < e) //检查是否满足终止条件 { cout << 0.5*(a + b) << ' ' << f(0.5*(a + b)) << endl; break; } } return 0;}double f(double x){ return (pow(x, 4) - 5 * pow(x, 3) + 4 * pow(x, 2) - 6 * x + 60+sin(x));} ( h% {& K3 N# K
6 L: D% B. G; N: b* W
6 @# b) W5 r& d3 s
9 V U ?4 R4 ^- L
3 Q" e/ R+ z4 A+ R2 U0 ]( z2 Q$ A. \8 j, h2 o
|
zan
|