资源简介
牛顿法与0.618函数逼近求极小值,如求函数sinx在区间【-3.14/2,3.14/2】的极小值
代码片段和文件信息
#include
#include
#include
#include
using namespace std;
double f(double x);
double GoldenSection(double adouble x1double x2double b);
int main()
{
SYSTEMTIME sys1sys2;
GetLocalTime(&sys1);//获得当前系统时间
double pi=3.14159 a=-(pi/2)b=pi/2;//初始边界
double x1=0.382*(b-a)x2=0.618*(b-a);
double x=GoldenSection(ax1x2b);
double y=f(x);
cout<<“解为:“<
GetLocalTime(&sys2);
cout<<“用时“<<(sys2.wMilliseconds)-(sys1.wMilliseconds)<<“毫秒“< return 0;
}
double f(double x)
{
return sin(x);
}
double GoldenSection(double adouble x1double x2double b)
{
double y1=f(x1)y2=f(x2);
if(y1 return GoldenSection(aa+0.382*(x2-a)a+0.618*(x2-a)x2);
if(y1>y2)
return GoldenSection(x1x1+0.382*(b-x2)x1+0.618*(b-x2)b);
if(y1=y2)
return( x1x1+0.382*(x2-x1)x1+0.618*(x2-x1)x2);
}
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 957 2013-12-05 15:02 牛顿法+0.618\gold.cpp
文件 1023 2013-12-05 17:50 牛顿法+0.618\Newton.cpp
文件 999 2013-12-05 17:44 牛顿法+0.618\Newtoqqn.cpp
文件 3711 2013-12-05 16:29 牛顿法+0.618\牛顿.txt
文件 12183 2013-12-05 15:50 牛顿法+0.618\计算方法中的牛顿法完整的实现代码使用C++编译!.docx
文件 957 2013-12-05 15:02 牛顿法+0.618\黄金分割法.txt
目录 0 2013-12-05 19:39 牛顿法+0.618
----------- --------- ---------- ----- ----
19830 7
- 上一篇:基于web的在线考试管理系统
- 下一篇:西门子OPC MES教程
评论
共有 条评论