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

优化一个变量的函数

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

  • 最新DBSCAN代码
    Science上发表的最新DBSCAN聚类算法的代码,有助于理解
    2022-03-10 21:41:14下载
    积分:1
  • 实用欧拉实现常微分方程的离散化!是非常经典的
    实用欧拉算法实现常微分方程的离散化!是非常经典的算法-practical Euler algorithm Ordinary Differential Equations discrete! It is very classic algorithm! !
    2023-05-07 13:40:02下载
    积分:1
  • 2D矢量引擎库
    遵循2D矢量图形库标准OpenVG,支持所有OpenVG官方规定;同时远远比官方实现效能高(大约是官方效能的80倍)
    2022-05-18 22:03:08下载
    积分:1
  • ICP
    Point to Point就近点搜索法是ICP算法中最经典的一种方法。如图1a所示, Point to Point法根据源曲面上的一个点p,在目标曲面上找出对应于p点距离最近的q点。在这个方法中通常运用kd-tree的方法实现就近点搜索。如图1b所示,pi是源曲面点云数据中的一个点,Vi是生成目标曲面点云数据中距Pi最近的点。根据Vi点搜索出在曲面上与Vi点相邻的点构成的三角形格网,计算pi点投影到每个三角形平面上的投影点qi的坐标。对于每个三角形来说,当投影点qi位于三角形内部,则距离最近点是搜索的最近点,当投影点qi位于三角形外部,搜索的就近点应位于三角形的两条边界上,Vi是该三角形到pi点的就近距离点。将每个三角形确定的就近距离点进行比较可获得一个最近点。
    2023-07-21 15:10:03下载
    积分:1
  • 蓝牙技术综述
    资源描述摘要:概要性地介绍了目前国际上最新的短程无线通讯技术———蓝牙技术,并且介绍了蓝牙 技术之相关技术、应用领域、发展现状及前景。 关键词:蓝牙技术;无线通信;网络 中图分类号:&’(% 文献标识码:) 文章编号:"##(—%**%(%##")"#—##+!—#%
    2023-06-11 11:10:02下载
    积分:1
  • 已知某函数在已知点上的函数值,用拉格朗日插值多项式求出其余点的函数值lagrange.c...
    已知某函数在已知点上的函数值,用拉格朗日插值多项式求出其余点的函数值lagrange.c-known function of a known point in the function, polynomial interpolation using Lagrange points obtained a function of the remaining value lagrange.c
    2023-01-26 21:50:04下载
    积分:1
  • 图像处理中的基本运
    数字图像获取、处理和实践——很多图像处理有用的源代码,图像增强(均值滤波3*3,5*5,中值滤波),边缘检测(sobel算子,拉普拉斯算子,reborts算子),图像分割(固定阈值分割,最大类间方差阈值分割)等
    2022-05-19 03:02:12下载
    积分:1
  • k均值聚类分析,比较简单,只适合学习使用个,不适合数据处理。...
    k均值聚类分析,比较简单,只适合学习使用个,不适合数据处理。-k-means clustering analysis, relatively simple, only suitable for learning to use one, not suitable for data processing.
    2022-02-06 15:39:22下载
    积分:1
  • Надоело
    2022-03-23 05:42:02下载
    积分:1
  • 数值积分常用
    数值积分常用算法-numerical integration algorithm commonly used
    2022-01-27 21:54:34下载
    积分:1
  • 696518资源总数
  • 105877会员总数
  • 14今日下载