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

优化一个变量的函数

于 2022-01-26 发布 文件大小:3.21 kB
0 194
下载积分: 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语言编写,简单明了,VC环境验证通过...
    包括傅里叶变换和傅里叶反变换,c语言编写,简单明了,VC环境验证通过-Including Fourier transform and Fourier inverse transform, c language, simple and clear, VC verification environment through the
    2022-01-30 17:39:51下载
    积分:1
  • 随机信号处理的演示维纳滤波的MATLAB实现!
    维纳滤波的MATLAB实现,用于随机信号处理的算法演示!-Wiener filter MATLAB for random signal processing algorithm demo!
    2023-04-20 13:20:03下载
    积分:1
  • Esto es una libreria de crc16 que encontre por internet. La pongo aqui para que...
    Esto es una libreria de crc16 que encontre por internet. La pongo aqui para que si quereis la utiliceis. Hasta ahora a mi me ha funcionado bastante bien
    2022-07-01 19:14:29下载
    积分:1
  • rapid power level with the previous two are together
    快速幂级2 跟前面的是一起的-rapid power level with the previous two are together
    2022-10-07 18:05:02下载
    积分:1
  • 龙贝格积分
    龙贝格积分-Romberg points
    2023-03-22 13:25:03下载
    积分:1
  • THE FINITE
    THE FINITE-DIFFERENCE TIME-DOMAIN (FDTD) PART IV The Perfectly Matched Layer (PML) Absorbing Boundary Condition -THE FINITE-DIFFERENCE TIME-DOMAIN (FDTD) PART IV The Perfectly Matched Layer (PML) Absorbing Boundary Condition
    2022-05-16 05:40:54下载
    积分:1
  • DSP方波过零点捕捉中断程序
    DSP方波过零点捕捉中断程序(用于频率计时),DSP方波过零点捕捉中断程序(用于频率计时),DSP方波过零点捕捉中断程序(用于频率计时),DSP方波过零点捕捉中断程序(用于频率计时),DSP方波过零点捕捉中断程序(用于频率计时),DSP方波过零点捕捉中断程序(用于频率计时),DSP方波过零点捕捉中断程序(用于频率计时),DSP方波过零点捕捉中断程序(用于频率计时),DSP方波过零点捕捉中断程序(用于频率计时),DSP方波过零点捕捉中断程序(用于频率计时),DSP方波过零点捕捉中断程序(用于频率计时),DSP方波过零点捕捉中断程序(用于频率计时),DSP方波过零点捕捉中断程序(用于频率计时),DSP方波过零点捕捉中断程序(用于频率计时),
    2022-01-21 19:05:48下载
    积分:1
  • FFT e
    FFT e-book, Engineers guide
    2022-08-08 10:49:12下载
    积分:1
  • 大学里数学系必学的一们课程数值分析中的经典――――hermit插值的程序vb版本...
    大学里数学系必学的一们课程数值分析中的经典算法――――hermit插值的程序vb版本-University"s Department of Mathematics will study the courses have a numerical analysis of the classic interpolation algorithm- hermit version of the procedure vb
    2023-05-04 21:55:03下载
    积分:1
  • 常微分和偏微分方程中的c程序,C++,Fortran,java,马…
    Ordinary and Partial Differential Equation Routines in C, C++, Fortran, Java, Maple, and MATLAB
    2022-07-09 17:55:39下载
    积分:1
  • 696516资源总数
  • 106562会员总数
  • 4今日下载