登录
首页 » 算法 » 优化一个变量的函数

优化一个变量的函数

于 2022-01-26 发布 文件大小:3.21 kB
0 147
下载积分: 2 下载次数: 1

代码说明:

翻译 maninwest@Codeforge 作者:John D. Cook@CodeProject这里介绍一个算法,优化化带有一个变量的函数而不需要导数。通常,需要导数的方法稳定但是慢,不需要导数的方法快捷但是不稳定。这里实现的这个方法稳定且高效。这个方法开始是Richard Brent 实现的。 给定一个函数  f(x) 和一个区间l [a, b], 该方法是找出函数 f(x) 在 [a, b] 区间的最小值。该方法也可以用于找出最大值。要找出最大值,指向传递原函数的反函数。即 f(x) 的最大值出现在-f(x) 的最小值点。Brent 的方法比较稳定。也很容易使用。用户不需要提供导数函数。该方法为了稳定牺牲了一些效率,但是相比其他稳定的方法如黄金分割法,则更加快捷。使用函数这里给出的代码是一个 C++ 函数和使用此函数的示例项目。要在你自己的项目中使用,只需在 Brent.h.头文件中添加#include 即可。最小化函数的主要输入是一个模板化实参,一个函数对象实现目标函数最小化。目标函数必须使用签名 double operator()(double x)实现 Public 方法。例如,这里是一个用于计算函数 f(x) = -x exp(-x) 的函数对象类。 class foo { public: double operator()(double x) {return -x*exp(-x);} };代码需要函数对象而不是函数的主要原因是,需要在应用中优化的函数,除了函数实参外,还要依赖参数。函数对象可以有很多参数,它们在找到一个变量的结果函数最小值前固定。其他实参是函数需要找到最小值的区间的终点,偏差用于停止, 一个输出参数用

下载说明:请别用迅雷下载,失败请重下,重下不扣分!

发表评论

0 个回复

  • 这是一个简单的C程序,使用AVR单片机Atmega8515键盘
    this is simple c program for keypad using AVR microcontroller ATmega8535
    2023-07-24 21:40:02下载
    积分:1
  • 室内定位的研究
    摸索了些,关键是几个参数自己一定要选对,否则测量精度大打折扣,定位的时候发现3个节点定位。 ,和n,y位为小数,所以要做相应处理(整数要左移两位) 值要再处理一下。
    2022-02-22 08:12:07下载
    积分:1
  • JPEG图像压缩
    利用opencv实现JPEG图像压缩,并进行编码解码,此外本程序还有一个滚动条,方便读者主观评价图像质量
    2022-06-16 14:26:56下载
    积分:1
  • kalman 目标跟踪
    该算法首先利用高斯混合模型的背景差分法,结合空间邻域的相关性信息得到运动目标图像, 然后通过建立帧间关系矩阵将跟踪情况分为5种状态分别进行处理,这5种状态是新目标出现、 目标匹配、目标遮挡、目标分离和目标消失。采用卡尔曼滤波器预测目标参数,建立目标在下一帧中的预测信息。 当运动目标相互遮挡时,在卡尔曼滤波器预测区域内采用交叉搜索法实现多个运动目标的精确匹配。 通过多个视频序列测试,该算法能够获得良好的跟踪结果。
    2022-12-22 06:25:04下载
    积分:1
  • 指定输出精度的C++库函数应用例子
    指定输出精度的C++库函数应用例子-designated output accuracy of C library functions Application examples
    2022-01-31 09:45:56下载
    积分:1
  • linear sequence storage structure VC++6.0 algorithm developed ~!
    线形表的顺序存储结构算法 VC++6.0下开发~!-linear sequence storage structure VC++6.0 algorithm developed ~!
    2022-01-29 03:24:49下载
    积分:1
  • 在VC下调用科学计可视化语言软件IDL的程序示例!
    在VC下调用科学计算可视化语言软件IDL的程序示例!-the VC called scientific visualization software IDL language of the examples!
    2022-06-03 06:54:00下载
    积分:1
  • 巴斯角三角形
    经典算法巴斯角三角形的实现,类似中国古代的杨辉三角#include #define N 12 long combi(int n, int r){     int i;     long p = 1;     for(i = 1; i
    2022-12-16 03:55:02下载
    积分:1
  • calendar and the lunar calendar algorithm (Calendar)
    公历及阴历算法(Calendar)-calendar and the lunar calendar algorithm (Calendar)
    2022-03-31 15:27:34下载
    积分:1
  • 有限域上计的基本库
    1引言  这是一种快速Galois域的库,并且所有的源文件是自由软件;这个库有一些显著的不同与以往的Galios场库进行比较。  1)这个库可以使用在Windows平台和Linux平台,C和C++的支持。  2)与以往的研究相比,在这一块的代码非常简洁,代码量小于150线为1/3-1/5以前的作品。  3)所有的Galois域的功能的操作与宏实现的,所以计算速度是非常快的。  2如何使用它。&nbs
    2022-06-19 21:05:29下载
    积分:1
  • 696518资源总数
  • 105877会员总数
  • 14今日下载