-
优化一个变量的函数
翻译 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);}
};代码需要函数对象而不是函数的主要原因是,需要在应用中优化的函数,除了函数实参外,还要依赖参数。函数对象可以有很多参数,它们在找到一个变量的结果函数最小值前固定。其他实参是函数需要找到最小值的区间的终点,偏差用于停止, 一个输出参数用
- 2022-01-26 15:15:42下载
- 积分:1
-
JTS java拓扑套件
JTS Java Topology Suite - a library for accurate 2D geometry. Supports GML.-JTS Java Topology Suite- a library for accurate 2D geometry. Supports GML.
- 2022-02-10 07:24:35下载
- 积分:1
-
Towers of Hanoi
河内塔算法的应用。
- 2022-01-24 18:47:57下载
- 积分:1
-
中文的C语言算法书c
中文的C语言算法书c-Chinese C-language algorithm book c
- 2022-02-13 04:40:51下载
- 积分:1
-
清华大学数学实验之微分方程的数值求解幻灯片与MAT源码
清华大学数学实验之微分方程的数值求解幻灯片与MAT源码-Tsinghua University, Experimental Math Numerical Solution of Differential Equations MAT slides and source code
- 2022-06-01 01:09:12下载
- 积分:1
-
这是数字信号处理――matlab释义与实现一书的源代码
这是数字信号处理――matlab释义与实现一书的源代码-This is the Digital Signal Processing-- Matlab Interpretation and Implementation of a source book
- 2022-08-21 10:43:20下载
- 积分:1
-
对公司的主要宗旨的实现计算组件和功能…
运算器部件的实现和功能 主要为学习计算机组成原理的同学 提供-computing components and functions of the realization of the main tenets of computer components provide students
- 2022-07-08 04:45:12下载
- 积分:1
-
Gabor_code
资源描述通过gabor进行特征提取,对鞋印的纹理进行提取,并且进行高斯滤波,提取的内容比较丰富,损失的信息比较少。并且gabor的各种属性也能使读者清楚地理解。
- 2022-07-07 11:41:03下载
- 积分:1
-
Guo Tao algorithm source VC
郭涛算法VC源码-Guo Tao algorithm source VC
- 2022-03-20 10:18:42下载
- 积分:1
-
数字签名算法
数字签名算法实现:
其加密方案技术来生成签名。它包含 4 的算法。一代大的素数的第一种算法,第二种算法生成的密钥、 第三种算法实现长沙 1 和第四个算法生成的签名。
- 2022-04-24 11:31:07下载
- 积分:1