收藏 分销(赏)

共轭梯度法程序及调试结果分析.doc

上传人:精**** 文档编号:10711528 上传时间:2025-06-11 格式:DOC 页数:2 大小:122KB 下载积分:5 金币
下载 相关
共轭梯度法程序及调试结果分析.doc_第1页
第1页 / 共2页
共轭梯度法程序及调试结果分析.doc_第2页
第2页 / 共2页
本文档共2页,全文阅读请下载到手机保存,查看更方便
资源描述
1、设计题目 用共轭梯度法求二次函数的极小点及极小值。 2、运行与程序 (1)运行:打开matlab,确定conjugate_grad_2d.m文件夹为当前目录。 在命令窗中输入:f=conjugate_grad_2d([1,1],0.001) 选择不同的初始点坐标[0,0],[0,1],[1,0],和迭代精度0.01,0.0001,进行运行时,需要多次调用conjugate_grad_2d函数。 (2)程序及说明: function f=conjugate_grad_2d(x0,t) %用共轭梯度法求已知函数f(x1,x2)=x1^2+2*x2^2-4*x1-2*x1*x2的极值点 %已知初始点坐标:x0 %已知收敛精度:t %求得已知函数的极值:f x=x0; syms xi yi a; %定义自变量,步长为符号变量 f=xi^2+2*yi^2-4*xi-2*xi*yi; %创建符号表达式f fx=diff(f,xi); %求表达式f对xi的一阶求导 fy=diff(f,yi); %求表达式f对yi的一阶求导 fx=subs(fx,{xi,yi},x0); %代入初始点坐标计算对xi的一阶求导实值 fy=subs(fy,{xi,yi},x0); %代入初始点坐标计算对yi的一阶求导实值 fi=[fx,fy]; %初始点梯度向量 count=0; %搜索次数初始为0 while double(sqrt(fx^2+fy^2))>t %搜索精度不满足已知条件 s=-fi; %第一次搜索的方向为负梯度方向 if count<=0 s=-fi; else s=s1; end x=x+a*s; %进行一次搜索后的点坐标 f=subs(f,{xi,yi},x); %构造一元搜索的一元函数φ(a) f1=diff(f); %对函数φ(a)进行求导 f1=solve(f1); %得到最佳步长a if f1~=0 ai=double(f1); %强制转换数据类型为双精度数值 else break %若a=0,则直接跳出循环,此点即为极值点 end x=subs(x,a,ai); %得到一次搜索后的点坐标值 f=xi^2+2*yi^2-4*xi-2*xi*yi; fxi=diff(f,xi); fyi=diff(f,yi); fxi=subs(fxi,{xi,yi},x); fyi=subs(fyi,{xi,yi},x); fii=[fxi,fyi]; %下一点梯度向量 d=(fxi^2+fyi^2)/(fx^2+fy^2); s1=-fii+d*s; %下一点搜索的方向向量 count=count+1; %搜索次数加1 fx=fxi; fy=fyi; %搜索后终点坐标变为下一次搜索的始点坐标 end x,f=subs(f,{xi,yi},x),count %输出极值点,极小值以及搜索次数 3、运行结果及分析 选择不同的初始点坐标[0,0],[0,1],[1,0],和迭代精度0.01,0.0001, (1)f=conjugate_grad_2d([1,1],0.001) 此程序运行1秒后终止,结果如下: X =[ 4, 2] %极小点坐标 f = -8 %极小值数值 count = 2 %迭代次数 f =-8 (2)f=conjugate_grad_2d([0,1],0.001) 此程序运行1秒后终止,结果如下: X =[ 4, 2] %极小点坐标 f = -8 %极小值数值 count = 2 %迭代次数 f =-8 分析可得: (1) 由结果看出,程序经过2次迭代,得到二次函数的极小值坐标[4,2],极小值-8;表明共轭梯度法收敛速度较快,计算量较小,稳定性高。 (2) 选择不同的初始点坐标[0,0],[0,1],[1,0],[1,1],都是经过2次迭代得到一致的结果;表明共轭梯度法初始点的选择不影响收敛结果。 (3) 选择迭代精度0.0001,程序将近运行4秒才结束;可知迭代精度越高时,程序运行的时候越长,所以在实际应用中选择适当的迭代精度,有利于提高计算的效率。 (4) 从共轭梯度法的计算过程可以看出,第一个搜索方向取作负梯度方向,这就是最速下降法。其余各步的搜索方向是将负梯度偏转一个角度,也就是对负梯度进行修正。所以共轭梯度法实质上是对最速下降法进行的一种改进,故它又被称作旋转梯度法。
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 包罗万象 > 大杂烩

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服