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

优化一个变量的函数

于 2022-01-26 发布 文件大小:3.21 kB
0 235
下载积分: 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 个回复

  • 循环码及其纠错能力研究
    资源描述循环码是一种很重要的线性分组码,是目前研究得最成熟 的一类码之一。它除了具有线性分组码的线性外,还具有循环 性,其码字结构一般用符号[n,k]表示,其中n 是该码组中的码 元数,k 是信息码元位数,r(r=n-k)是监督码元位数。循环码具 有较强的检错和纠错的能力,用于通信系统时可极大地提高了 通信的可靠性。
    2022-02-25 11:55:45下载
    积分:1
  • Voronoi 图
    执行的 voronoi 图在 javascript 中,它用来分发农技团在某一特定的区域 ; 在地图上画出 voronoi 图单元格中的每个点代表一台机器。
    2022-03-15 03:13:55下载
    积分:1
  • Code_McCaffreyTestRun1011
    图形结构和最大的派系 在广泛的应用,包括社交网络通信分析、 计算机网络分析、 计算机视觉和许多其他中遇到的最大团问题。 对于甚至中等大小的图,原来在计算机科学中的最具挑战性和有趣的问题之一是最大的派系问题。 用于解决的最大团问题的技术 — — 其中包括禁忌搜索、 贪婪搜索、 高原搜索、 实时参数适应和动态解决方案历史 — — 在许多其他问题方案中可以使用。 在短期,解决了最大团问题的代码可以直接对您非常有用,并在算法中采用的先进的技术可以帮助解决其他困难的编程问题。
    2022-03-09 12:37:22下载
    积分:1
  • the code is "commonly used computer numerical algorithms and procedures C v...
    该代码是《计算机常用数值算法与程序C版》一书中支持矩阵特征值和特征向量的计算代码,这些程序已在c6.0虚拟环境下通过。注意VC 6.0的安装路径,特别是包括目录(文件夹)路径,否则会出现编译头文件找不到的错误和编译器不正常。
    2022-02-04 23:54:03下载
    积分:1
  • 已经一整数n,求1!+2!+3!+4!+5!+6!+……+n!,n<1
    已经一整数n,求1!+2!+3!+4!+5!+6!+……+n!,n
    2022-05-10 20:58:45下载
    积分:1
  • compression algorithm test procedure (North Jimmy computer
    压缩算法测试程序(北理计算机系老浪字做)-compression algorithm test procedure (North Jimmy computer-old wave character)
    2022-03-23 06:13:34下载
    积分:1
  • 这是复数的加减法运算源代码.使用C++在VC环境中实现.
    这是复数的加减法运算源代码.使用C++在VC环境中实现.-This is the plural of addition and subtraction operations source. The use of C in the VC environment to achieve.
    2022-01-26 01:24:52下载
    积分:1
  • 飞思卡尔摄像头串口调试程序
    OV7620摄像头数据采集 硬件配置说明:                                                         *摄像头位数据位 - PORTD0~7                                 *PCLK - PORTC0                                             *行中断 - PORTA29                                          *场中断 - PORTB0                                           *图像数据输出 - K60串口1,波特率115200                     *添加说明:  我们
    2022-05-23 16:30:30下载
    积分:1
  • 普里姆算法
    Java 代码他们一本正经的最小生成树算法。只需更改的值图的代码本身的重量。所有都添加了评论。
    2022-02-25 04:31:43下载
    积分:1
  • 该程序用于产生任意均值和方差的随机数,程序中有注释
    该程序用于产生任意均值和方差的随机数,程序中有注释-The program used to generate arbitrary mean and variance of random numbers, program has Notes
    2023-03-03 22:40:04下载
    积分:1
  • 696516资源总数
  • 106914会员总数
  • 0今日下载