收藏 分享(赏)

DFP算法及Matlab程序.docx

上传人:cjc2202537 文档编号:6545851 上传时间:2019-04-16 格式:DOCX 页数:4 大小:114.63KB
下载 相关 举报
DFP算法及Matlab程序.docx_第1页
第1页 / 共4页
DFP算法及Matlab程序.docx_第2页
第2页 / 共4页
DFP算法及Matlab程序.docx_第3页
第3页 / 共4页
DFP算法及Matlab程序.docx_第4页
第4页 / 共4页
亲,该文档总共4页,全部预览完了,如果喜欢就下载吧!
资源描述

1、作业二 用 DFP 算法求解 ,取 ,121214)(minxxf T10。10H一、求解: TTTgHpgxxxg )2,4(,)24(,)42,2() 000211 (1 ) 求迭代点 x1令 ,得 的极小值点 ,3)()200pf )(010所以得: .)4,(,)5.,1(2,100010 TTgyxs 于是,由 DFP 修正公式有 4138001 syHTT下一个搜索方向为 gp6,8511(2 ) 求迭代点 x2令 ,得 的极小值点.4)()211xf )(1541于是得: ,所以: ,TTgp0,(,22 8,)2(fxT因 Hesse 阵 为正定阵, 为严格凸函数,所以 为整体

2、 Gx4)( )(f x极小点。二、DFP 算法迭代步骤如下:(1 )给定初始点 ,初始矩阵 (通常取单位阵) ,计算 ,令 k=0,给定控制误0x0H0g差 。(2 )令 。kkgp(3 )由精确一维搜索确定步长 ,k)(min)(0kkk pxfpxf (4 )令 。kkpx1(5 )若 ,则 停;g1否则令 , 。kkxskgy1(6 )由 DFP 修正公式得 。令 k=k+1,转步骤(2)1H3、 DFP 算法 matlab 程序实现function best_x,best_fx,count=DFP(x0,ess)syms x1 x2 t;f=x1*x1+2*x2*x2-2*x1*x2

3、-4*x1;fx=diff(f,x1);%求表达式 f 对 x1 的一阶求导 fy=diff(f,x2);%求表达式 f 对 x2 的一阶求导fi=fx fy;%构造函数 f 的梯度函数%初始点的梯度和函数值g0=subs(fi,x1 x2,x0);f0=subs(f,x1 x2,x0);H0=eye(2);%输出 x0,f0,g0x0f0g0xk=x0;fk=f0;gk=g0;Hk=H0;k=1;while(norm(gk)ess)%迭代终止条件 |gk| x0=1 1;ess=1e-6;best_x,best_fx,count=DFP(x0,ess)程序运行结果:x0 =1 1f0 =-3g0 =-4 2*第 1 次寻优xk =2.0000 0.5000fk =-5.5000gk =-1 -2Hk =0.8400 0.38000.3800 0.4100*第 2 次寻优xk =4 2fk =-8gk =0 0Hk =1.0000 0.50000.5000 0.5000结果如下:best_x =4 2best_fx =-8count =2可以看到,最优点 ,迭代次数 2 次,与前面结果一致。8,)24(fxT

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 网络科技 > 数据结构与算法

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报