- 1、本文档共13页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
数学与计算科学学院
实 验 报 告
实验项目名称 使用黄金分割法确定步长的牛顿法
所属课程名称 最优化方法
实 验 类 型 算法编程
实 验 日 期 201
班 级 信
学 号
姓 名
成 绩
一、实验概述: 【实验目的】
掌握Matlab数值计算的基本方法;
掌握最速下降法;
掌握黄金分割法确定步长。
【实验原理】
黄金分割法一维有哪些信誉好的足球投注网站是解函数极小值的方法之一,其解法思想为沿某一已知方向求目标函数的极小值点。一维有哪些信誉好的足球投注网站的解法很多,这里主要采用黄金分割法(0.618法)。该方法用不变的区间缩短率0.618代替斐波那契法每次不同的缩短率,从而可以看成是斐波那契法的近似,实现起来比较容易,也易于人们所接受。
黄金分割法是用于一元函数在给定初始区间内有哪些信誉好的足球投注网站极小点的一种方法。它是优化计算中的经典算法,以算法简单、收敛速度均匀、效果较好而著称,是许多优化算法的基础,但它只适用于一维区间上的凸函数,即只在单峰区间内才能进行一维寻优,其收敛效率较低。其基本原理是:依照“去劣存优”原则、对称原则、以及等比收缩原则来逐步缩小有哪些信誉好的足球投注网站区间。具体步骤是:在区间内取点: , 把分为三段。
如果,令;
如果 ,令,
如果|(b-a)/b|和|(y1-y2)/y2|都大于收敛精度ε重新开始。
因为为单峰区间,这样每次可将有哪些信誉好的足球投注网站区间缩小倍,处理后的区间都将包含极小点的区间缩小,然后在保留下来的区间上作同样的处理,如此迭代下去,将使有哪些信誉好的足球投注网站区逐步缩小,直到满足预先给定的精度时,即获得一维优化问题的近似最优解。
算法流程图:
图1
2.牛顿法:
设是二次可微实函数,,Hesse矩阵正定。在附近用二次Taylor展开近似,
,为的二次近似。将上式右边极小化,便得:
, 这就是牛顿法的迭代公式。
在这个公式里,步长因子。令,则上式也可写成:
显然,牛顿法也可以看成在椭球范数下的最速下降法。
事实上,对于,
是极小化问题 的解。该极小化问题依赖于所取的范数,当采取范数时,,所得方法为最速下降法。当采用椭球范数时,
,所得方法即为牛顿法。
【实验环境】
Windows7
Matlab 7.0 二、实验内容: 【实验方案】
算例: 的极小值, 。
要求: 1、利用使用黄金分割法确定步长的牛顿法
编写一维有哪些信誉好的足球投注网站方法(含黄金分割法确定步长);
2、在使用共轭梯度法梯度法进行有哪些信誉好的足球投注网站时可以调用一维有哪些信誉好的足球投注网站方法。
【实验过程】
黄金分割法程序流程图
牛顿法的改进算法:
给出初始点。第k步迭代为:
(1)令,其中:
,如果正定;否则。
(2)计算的Cholesky分解,。
(3)解得。
(4)令
【实验结论(结果)小结结论#include stdlib.h
#include stdio.h
#include math.h
//原函数
#define f(x1,x2) x1*x1+x2*x2-x1*x2-10*x1-4*x2+60
//梯度模
#define tdm(x1,x2) sqrt((2*x1-x2-10)*(2*x1-x2-10)+(2*x2-x1-4)*(2*x2-x1-4))
//x1的偏导数
#define G1(x1,x2) 2*x1-x2-10
//x2的偏导数
#define G2(x1,x2) 2*x2-x1-4
//一维有哪些信誉好的足球投注网站
//进退法求有哪些信誉好的足球投注网站区间
const float eps=0.001;
//eps为计算精度;
double HJFC(double x1[],double s1[])
{
int k=1,i,j;
double a0=1,b0=0.5,a1,b1,a[3],f[3],y[3][2],m,n,ak2,c;
//a0为初始步长,b0为初始步长增量;a1,b1为进退法确定的最终区间;
a[0]=a0;
a[1]=a0+b0;
for(i=0;i2;i++)
for(j=0;j2;j++)
y[i][j]=x1[j]+a[i]*s1[j];
for(i=0;i2;i++)
f[i]=f(y[i][0],y[i][1]);
if(f[0]f[1])
while(k)
{
b0=2*b0;
您可能关注的文档
- 周三多管理学原理与方法第五版课件21企业组织创新讲解.ppt
- 任务4熟悉商品讲述.ppt
- 任务5新型节能车的介绍讲述.pptx
- 卓越服务与客户满意度管理(傅许坚)讲解.ppt
- 咨询MindManager安装使用教程讲解.doc
- 员工工作压力管理讲解.ppt
- 任务驱动作文轻讲述.pptx
- 任务三、用Word软件进行文档编排讲述.ppt
- 飞机的发展简史重点.ppt
- 悦读绘本_点亮童心讲解.ppt
- 吉安县公开招聘专职文明实践员笔试备考试题及答案解析.docx
- 2025重庆枫叶国际学校招聘教师笔试备考试题及答案解析.docx
- 游机队电玩自制联网教程-tplink.pdf
- 2025重庆新华出版集团招聘1人笔试模拟试题及答案解析.docx
- 2025宜宾高新丽雅城市产业发展有限公司公开招聘笔试模拟试题及答案解析.docx
- 2025云南保山市龙陵县勐糯镇人民政府招聘合同制专职消防员1人笔试模拟试题及答案解析.docx
- 11.1生活中常见的盐 九年级化学人教版下册.pptx
- 6.1法律保护下的婚姻 高二政治《法律与生活》课件(统编版选择性必修2)(新版).pptx
- 文昌市中小学教师校园招聘29人笔试模拟试题及答案解析.docx
- 10.1.5 常见的酸和碱(第5课时)课件-九年级化学人教版下册.pptx
文档评论(0)