-
优化一个变量的函数
翻译 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
-
使用索引实现快速查找
使用索引实现快速查找-Quick search by using index
- 2022-08-13 10:19:10下载
- 积分:1
-
电梯控制程序
本电梯是基于AT8952单片机开发的,具有电梯常用的所有功能。包括楼层检测、超重报警、记忆楼层和楼层指向显示等功能。基本上实现了电梯的所有功能。该系统采用单片机为核心控制元件及外围电路组成高度为三层的电梯运行控制系统。整个系统设计包含两方面的内容,即系统硬件电路设计和软件编程设计。系统的硬件电路主要包括最小单片机系统、电梯内电路模块、电梯外电路模块、井道信号检测模块、电机驱动模块、报警模块等六个模块。系统软件设计部分是采用程序模块化设计方法来设计一款控制电梯自动运行的程序。这种设计方法使得复杂的程序简单化和程序的修改更加方便。该设计实现了电梯控制系统的一些基本功能,通过对各楼层用户按钮信号的检测和处理,按预定的运行规则和程序,发出控制信号对电机进行调节,从而控制电机的起停、速度和运行时间。采用数码管来显示电梯当前所处的位置。当电梯运行过程中出现故障时,可以向外发出报警。
- 2022-03-09 14:36:38下载
- 积分:1
-
cvgabor图形处理
cvgabor实现代码
它有如下的功能:
生成特定方向和尺度的gabor
生成可以显示或者保存的gabor核的实部,虚部
请点击左侧文件开始预览 !预览只提供20%的代码片段,完整代码需下载后查看 加载中 侵权举报
- 2022-08-17 21:03:42下载
- 积分:1
-
实验mathacad of an
An exapmle of mathacad
- 2022-02-06 20:37:56下载
- 积分:1
-
数据结构 典型的题目
题目:
假设有A,B,C,D,E五个高等院校进行田径对抗赛,各院校的单项成绩均已存入计算机,并构成一
张表,表中每一行的形式为:
项目名称 性别 校名 成绩 得分
编写算法,处理上述表格,以统计各院校的男、女总分和团体总分,并输出。
- 2022-02-02 18:42:53下载
- 积分:1
-
dijkstra求最短路
dijkstra求最短路:最短路问题是重要的最优化问题之一,它不仅可以直接应用于解决实际的许多问题,如管道铺设、线路安排、厂区布局、设备更新等,而且经常被作为一个基本工
具,用于解决其他问题。对于两点间的距离大于或者等于0的问题而言,目前公认的最好的方法是由Dijkstra于1959年提出来的。
- 2022-09-09 03:25:03下载
- 积分:1
-
preissmann隐格式代码
preissmann隐格式代码,解一维非恒定圣维南方程。。。
- 2022-06-17 22:53:22下载
- 积分:1
-
Discrete Mathematics in order to achieve the set of C++. C++, Discrete Mathemati...
离散数学中求集合的C++实现。用C++实现离散数学中的求集合这一公式,原理及代码都很简单的问题。-Discrete Mathematics in order to achieve the set of C++. C++, Discrete Mathematics in order to achieve the collection of this formula, principles and code are very simple questions.
- 2022-04-29 00:34:25下载
- 积分:1
-
python SCAN算法实现(structural clustering algorithm for networks)
资源描述
python SCAN算法实现(structural clustering algorithm for networks)
关于格式的输入请用python的第三方类库networkx
该第三方库好用简便
- 2023-04-08 00:40:04下载
- 积分:1