-
优化一个变量的函数
翻译 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
-
Extended Kalman Filter
Extended Kalman Filter-a toolkit
- 2022-04-29 02:05:23下载
- 积分:1
-
伪随机发生器
伪随机发生器用于测试图案发生器为内置自检 DIFFERENET 传输线下测试像加法器乘数或任何这些随机测试生成器将生成的测试序列,将用于电路的功能测试
- 2022-06-27 00:50:25下载
- 积分:1
-
使用先生的粒子滤波
particle filter using SIR
- 2022-03-04 19:41:38下载
- 积分:1
-
使用离散小波变换的图像压缩
图像压缩是非常有用的交际目的。在这里我使用离散小波变换的任何图像压缩。
- 2022-03-18 21:30:36下载
- 积分:1
-
a primitive network BP M procedures
一个原始的BP网络的M程序-a primitive network BP M procedures
- 2022-01-26 08:22:21下载
- 积分:1
-
Numerical calculation, using newton iteration method chord intercept method to c...
数值计算,利用newton迭代法和弦截法计算插值多项式-Numerical calculation, using newton iteration method chord intercept method to calculate the interpolation polynomial
- 2022-02-04 23:52:26下载
- 积分:1
-
寻找最短路问题
一款用C语言写的A*最短路径寻找代码。有曼哈顿算法、欧几里得算法、切比雪夫算法和加权曼哈顿算法四个计算最短路径的算法。可以选择使用的算法来进行最短路径的计算。
- 2023-01-21 14:50:03下载
- 积分:1
-
一个用C语言编写的求混沌序列的源程序,挺好的!
一个用C语言编写的求混沌序列的源程序,挺好的!-a C language for the chaotic sequence of the source, very good!
- 2023-01-18 01:10:04下载
- 积分:1
-
将C语言转换成汇编语言
将C语言转换成汇编语言-C language into assembler language
- 2022-03-07 03:18:38下载
- 积分:1