-
优化一个变量的函数
翻译 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
-
说明:本程序用于矩形截面偏心受压构件对称配筋的设计和复核以及不对称配筋的复核。本程序有文件支持,但无需建立数据文件,请按屏幕提示输入数据,并注意单位。本程序可在...
说明:本程序用于矩形截面偏心受压构件对称配筋的设计和复核以及不对称配筋的复核。本程序有文件支持,但无需建立数据文件,请按屏幕提示输入数据,并注意单位。本程序可在此文件同目录上自动生成下列文件:设计数据文件“design.dat”,设计结果文件“design.out”;复核数据文件“verify.dat”,复核结果文件“verify.out”。-Note : This procedure for the eccentric rectangular reinforced symmetrical compression in the design and review and reinforcement of asymmetric review. This procedure document support, but without the establishment of data files, suggested by the data entry screen, and the attention of units. The procedures in this document may be the same directory automatically generate the following documents : design data files "design.dat", the outcome document design "design.out"; Review of data files "verify.dat" review of the outcome document "verify.out."
- 2022-06-11 16:41:16下载
- 积分:1
-
Huffman coding is a lossless encoding said very carefully, and to look carefully...
霍夫曼编码 是一种无失真编码 讲的很详细,仔细看看,收获不小。-Huffman coding is a lossless encoding said very carefully, and to look carefully and learned a lot.
- 2022-02-01 01:07:14下载
- 积分:1
-
我的课程设计:实现任意长整数的求和。自己写的哦
我的课程设计:实现任意长整数的求和。自己写的哦 -my program: get the sum of arbitrary array
- 2022-02-01 06:33:11下载
- 积分:1
-
插值程序
给入控制信号,输入输出分辨率 进行放大,分辨率例如1024 768,系统时钟为最高频率的输入时钟,里面包括双线性,还有最近领域法,两种算法的选择是通过一个电平进行控制
- 2022-09-19 13:50:03下载
- 积分:1
-
F2812Q格式代码
空间电压矢量脉宽调制技术(SVPWM)在DSP中的实现步骤:
(1)获得SVPWM的输入信号UALFA,UBETA,Ud,Uq经过IPARK变换得到输入信号UALFA,UBETA;
(2)利用输入信号UALFA,UBETA计算中间变量B0,B1,B2,确定扇区Sector;
(3)利用输入信号UALFA,UBETA计算中间变量X,Y,Z,再根据不同扇区利用中间变量X,Y,Z计算t1,t2;
(4)利用t1,t2根据不同扇区计算Ta,Tb,Tc;
(5)利用Ta,Tb,Tc计算占空比MfuncD1,MfuncD2,MfuncD3,之后再计算全比较器参数赋值CMPR1,CMPR2,CMPR3.
- 2023-07-23 17:45:02下载
- 积分:1
-
在 Java 中抛硬币
硬币 Tossing,以确定是否有死的还是活的使用。
/ 此小程序允许一个模拟投掷硬币。它使用 random() 方法
/ / 从数学类来随机生成一个 0 和 1 之间的数字。如果
/ / 数是 < 0.5,它被视为一个头。否则,它认为一条尾巴。
/ / 小程序允许一个输入的硬币扔模拟次数
/ / 是进行。它 thens 进行模拟,并报告结果。
- 2022-04-27 07:07:01下载
- 积分:1
-
一个关于数据挖掘的决策树算法
一个关于数据挖掘的决策树算法-a data mining on the Decision Tree Algorithm
- 2022-01-25 19:53:42下载
- 积分:1
-
J48实现数据挖掘c4.5
代码是数据挖掘技术中使用的,用Java编写。实际上就是数据挖掘技术中决策树的C45算法。
- 2022-03-25 10:01:43下载
- 积分:1
-
svpwm code
资源描述 svpwm的核心算法部分,可以借此扩展出自己的FOC算法
- 2022-12-16 08:10:03下载
- 积分:1