数学与计算科学学院
实 验 报 告
实验项目名称 使用精确搜索算法确定步长的牛顿法
所属课程名称 最优化方法
实 验 类 型 算法编程
实 验 日 期 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]);%求梯度
使用精确搜索算法确定步长的牛顿法 来自淘豆网www.taodocs.com转载请标明出处.