- 在线时间
- 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));} 4 H- y5 b. g! G5 E2 M" [
3 m v0 K1 D. \2 r2 v8 d4 q
4 U5 h4 E8 v; B6 g
! Z w) ]# F! A7 a& O! Q# g' x; b& y& e# E# S6 w N
6 {. Y, G* X- S! ^8 S |
zan
|