
最优化
新世纪debug战士
本人为零基础小白,学艺不精,所有发布的文章如有错漏之处,欢迎指正!
展开
-
【最优化】C++实现逐次插值逼近法(三点二次插值法)
三点二次插值法代码 #include <iostream> #include <cmath> #include <random> #include <ctime> int SEED = 0; // 用于设置不同的种子,防止产生相同的随机情况 // 课本P137第6题函数 double f(double t) { return 1 - t * exp(- t * t); } // 课本P114例3.3.2 double f1(double t)原创 2021-12-07 23:53:56 · 2633 阅读 · 0 评论 -
【最优化】C++实现0.618法、Fibonacci法、二分法
参考课本:最优化方法 - 孙文瑜等 根据课本P110算法3.2.1(0.618法计算步骤)编写C++代码,例题为P137第4题(1)(2) 0.618法代码 #include <iostream> #include <cmath> double f(double t) { return exp(-t) + exp(t); } /*! * 实现0.618法 * @param f 需要优化的函数 * @param a 优化区间下界 * @param b ..原创 2021-12-07 01:32:00 · 1478 阅读 · 2 评论 -
【最优化】C++实现二分法查找凸函数最小值
参考资料:【上海交大】最优化方法 18讲视频教程 二分法算法: 例题: 例题代码: #include <iostream> // C++默认小数为double类型,为避免类型转换麻烦,故将x定义为double类型 double f(double x) { return (8*x*x*x - 2*x*x - 7*x + 3); } // 函数名即为函数首地址,故要以指针类型传入 /*! * 实现二分查找 * @param f 需要优化的函数 ...原创 2021-12-06 16:44:08 · 904 阅读 · 0 评论