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

优化一个变量的函数

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

  • Genetic algorithm c source code, containing the description, but is in English!
    遗传算法的c源代码,内含说明,只不过是英文!-Genetic algorithm c source code, containing the description, but is in English!
    2022-07-08 06:24:04下载
    积分:1
  • C 编程示例
    C 编程示例: 这些程序说明各种编程元素的概念,如使用运算符、 循环、 函数、 单人和双人的二维数组,字符串、 文件、 指针等上执行的操作。浏览到你正在寻找,其中每个之一提供输出复杂的简单的 c 程序中的代码。
    2023-06-20 15:55:03下载
    积分:1
  • 研究生期间上《数值计》课的作业,所有代码都是C语言实现并调试通过,现在上传为大家服务。这是Doolittle分解的...
    研究生期间上《数值计算方法》课的作业,所有代码都是C语言实现并调试通过,现在上传为大家服务。这是Doolittle分解的算法-"numerical methods" courses of operations, are all code and the C language debugging passed, and upload to us. Try This is the decomposition algorithm
    2022-02-05 08:46:28下载
    积分:1
  • 赫夫曼编码树的应用
    利用赫夫曼编码树的原理压缩和解压
    2023-02-10 02:25:03下载
    积分:1
  • 随机生成的字符串段。
    随机产生一段字符串。-randomly generated string section.
    2023-04-08 01:15:04下载
    积分:1
  • 数据由多项式逼近
    该程序从 APPROKSK 文件中读取数据。DAT 和发现多项式的系数数据进行拟合。在最后一步的计算结果表明在图表上。
    2022-01-31 16:49:16下载
    积分:1
  • 使用C++和wxWidgets绘声能量
    应用背景该程序能够播放或停止一个WAV文件。此外,你可以输出在txt格式的WAV文件的能量。你可以画出能量输出。这个程序是一个声音分析。关键技术我们可以上传wav文件,选择文件,所以,我们可以先,得到的WAV文件的能量并能记录txt文件所以我们可以看到能量值。此外,在视觉部分,利用直流电能值。
    2022-02-01 04:14:31下载
    积分:1
  • 缓冲区空间分析
    该文件代码是基于ARCGIS的二次开发,里面实现了缓冲区分析,前提是需要安装ARCGIS二次开发工具包,所以,需要使用的可以从这里下载,试用。c#该源码实现了GIS中点、线、面的缓冲区分析。有距离缓冲区、属性值缓冲区和分级缓冲区三种。
    2023-05-23 20:25:02下载
    积分:1
  • 1 bp algorithm, but there may be some code warning
    一个bp算法,不过代码可能会有一些warning-1 bp algorithm, but there may be some code warning
    2022-10-01 22:50:03下载
    积分:1
  • K邻近应用
    计算模型: BMI指数(即身体质量指数,简称体质指数又称体重,英文为Body Mass Index,简称BMI),是用体重公斤数除以身高米数平方得出的数字,是目前国际上常用的衡量人体胖瘦程度以及是否健康的一个标准。主要用于统计用途,当我们需要比较及分析一个人的体重对于不同高度的人所带来的健康影响时,BMI值是一个中立而可靠的指标。 BMI值原来的设计是一个用于公众健康研究的统计工具。当我们需要知道肥胖是否为某一疾病的致病原因时,我们可以把病人的身高及体重换算成BMI值,再找出其数值及病发率是否有线性关连。不过,随着科技进步,现时BMI值只是一个参考值。要真正量度病人是否肥胖,体脂肪率比BMI更准确、而腰围身高比又比体脂肪率好、但是最好的看法是看内脏脂肪(若内脏脂肪正常,就算腰围很大及体脂肪率很高,健康风险不高,日本相扑很多都是这种胖法)。因此,BMI的角色也慢慢改变,从医学上的用途,变为一般大众的纤体指标。BMI是Body Mass Index 的缩写,BMI中文是“体质指数”的意思,是以你的身高体重计算出来的。BMI是世界公认的一种评定肥胖程度的分级方法,世界卫生组织(WHO)也以BMI来对肥胖或超重进行定义。身高体重指数这个概念,是由19世纪中期的比利时通才凯特勒最先提出。它的定义如下: 体质指数(BMI)=体重(
    2022-06-21 02:04:14下载
    积分:1
  • 696516资源总数
  • 106914会员总数
  • 0今日下载