1 / 8
文档名称:

使用精确搜索算法确定步长的牛顿法.doc

格式:doc   大小:580KB   页数:8页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

使用精确搜索算法确定步长的牛顿法.doc

上传人:260933426 2017/7/27 文件大小:580 KB

下载得到文件列表

使用精确搜索算法确定步长的牛顿法.doc

相关文档

文档介绍

文档介绍:数学与计算科学学院
实验报告
实验项目名称使用精确搜索算法确定步长的牛顿法
所属课程名称最优化方法
实验类型算法编程
实验日期 2015年11月13号
班级信
学号 201
姓名
成绩
一、实验概述:
【实验目的】
掌握精确搜索算法确定步长的最速下降法;
使用计算机语言表达最优化方法。
【实验原理】
设f(x)是二次可微函数, ,又设f(x)的极小点的一个估计,我们把f(x)在展开成Taylor级数,并取二阶近似

其中是f(x)在处的Hesse矩阵。为求的平稳点,令
=0

设可逆,则有为牛顿法的迭代公式。这样知道后,算出在这一点处目标函数的梯度和Hesse矩阵的逆,代入,便得到,用k+1代替k,再计算,又得到,以此类推,产生序列{}。
【实验环境】
计算机 VC++
二、实验内容:
【实验方案】
列举例题
手工计算
将计算步骤等实现程序化
实验结果分析
【实验过程】
例题
min
计算步骤:
语言设计流程图:开始
k:=0
收敛于
计算
计算,
设定初点,
输出
结束


【实验结论】


0

1
2
3


【实验小结】(收获体会)
通过本次实验,初步解了最优化方法在机器语言上的实现,更深刻的了解了使用精确搜索算法确定步长的牛顿法,理解和掌握了他们的优缺点。同时也认识了自己的缺点,编程能力弱,需要极大的提高。在以后的实验中会努力学习,争取把这门课学好。
三、指导教师评语及成绩:
评语
评语等级



及格
不及格
,字迹清楚,文字叙述流畅,逻辑性强
P

P
(实验步骤详细,记录完整,数据合理,分析透彻)
P
4实验结论正确.
P
成绩:
指导教师签名:
批阅日期:
附录1:源程序
function [x1 k]=newton(x1,j) %x1为初始点
x1=[8,8]';
j=1e-10;
hs=inline('(x-1)^4+y^2');
ezcontour(hs,[-10 10 -10 10]);
hold on;
syms x y f=(x-1)^4+y^2;
grad1=jacobian(f,[x,y]);%求梯度
grad2=jacobian(grad1,[x,y]);%求Hesse矩阵
k=0;
while 1
grad1z=subs(subs(grad1,x,x1(1)),y,x1(2));%求梯度值 grad2z=subs(subs(grad2,x,x1(1)),y,x1(2));%求Hesse矩阵 x2=x1-inv(grad2z)*(grad1z');%牛顿迭代公式
if norm(x1-