电脑桌面
添加小米粒文库到电脑桌面
安装后可以在桌面快捷访问

完整版最速下降法求解线性代数方程组VIP免费

完整版最速下降法求解线性代数方程组_第1页
1/5
完整版最速下降法求解线性代数方程组_第2页
2/5
完整版最速下降法求解线性代数方程组_第3页
3/5
最速下降法求解线性代数方程组要求:对于给定的系数矩阵、右端项和初值,可以求解线性代数方程组一、最速下降法数学理论在基本迭代公式kkkkPtXX1中,每次迭代搜索方向kP 取为目标函数)( Xf的负梯度方向,即)(kkXfP,而每次迭代的步长kt 取为最优步长,由此确定的算法称为最速下降法。为了求解问题)(minXf,假定我们已经迭代了k 次,获得了第k 个迭代点kX 。现在从kX 出发,可选择的下降方法很多,一个非常自然的想法是沿最速下降方向(即负梯度方向) 进行搜索应该是有利的,至少在kX 邻近的范围内是这样。因此,去搜索方向为)(kkXfP. 为了使目标函数在搜索方向上获得最多的下降,沿kP 进行一维搜索,由此得到第1k个跌带点,即)(1kkkkXftXX,其中步长因子kt 按下式确定))((min))((kkkkkkXftXfXftXf,))(,(1kkkXfXlsX. ( 1)显然,令,2,1,0k就可以得到一个点列,,,210XXX, 其中0X 是初始点,由计算者任意选定。当)(Xf满足一定的条件时,由式(1)所产生的点列}{kX必收敛于)( Xf的极小点。二、最速下降法的基本思想和迭代步骤已知目标函数)(Xf及其梯度)( Xg,终止限21,和3 . (1)选定初始点0X,计算)(),(0000XggXff;置0k. (2)作直线搜索:),(1kkkgXlsX;计算)(),(1111kkkkXggXff. 用终止准则检验是否满足:若满足,则打印最优解))(,(11kkXfX,结束;否则,置1kk,转( 2)(3)最速下降法算法流程图如图所示.开始选定0X)()(0000XggXff),(00gXlsX)()(00XggXff终止准则满足?ggffXX000fX ,结束三、最速下降法的matlab 实现function [x,n]=twostep(A,b,x0,eps,varargin) %两步迭代法求线性方程组Ax=b的解if nargin==3 eps= 1.0e-6; M = 200; elseif nargin<3 error return elseif nargin ==5 M = varargin{1}; end D=diag(diag(A)); %求 A 的对角矩阵L=-tril(A,-1); %求 A 的下三角阵U=-triu(A,1); %求 A 的上三角阵B1=(D-L)\U; B2=(D-U)\L; f1=(D-L)\b; f2=(D-U)\b; x12=B1*x0+f1; x =B2*x12+f2; n=1; %迭代次数while norm(x-x0)>=eps x0 =x; x12=B1*x0+f1; x =B2*x12+f2; n=n+1; if(n>=M) disp('Warning: 迭代次数太多,可能不收敛!'); return; end end function [x,n]= fastdown(A,b,x0,eps) %最速下降法求线性方程组Ax=b的解if(nargin == 3) eps = 1.0e-6; end x=x0; n=0; tol=1; while(tol>eps) %以下过程可参考算法流程 r = b-A*x0; d = dot(r,r)/dot(A*r,r); x = x0+d*r; tol = norm(x-x0); x0 = x; n = n + 1; end 四、最速下降法的算例实现A=[5 2 0;6 4 1;1 2 5]; b=[10 18 -14]'; eps=1.0e-6; x = -0.8750 7.1875 -5.5000 k = 60

1、当您付费下载文档后,您只拥有了使用权限,并不意味着购买了版权,文档只能用于自身使用,不得用于其他商业用途(如 [转卖]进行直接盈利或[编辑后售卖]进行间接盈利)。
2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。
3、如文档内容存在违规,或者侵犯商业秘密、侵犯著作权等,请点击“违规举报”。

碎片内容

完整版最速下降法求解线性代数方程组

确认删除?
VIP
微信客服
  • 扫码咨询
会员Q群
  • 会员专属群点击这里加入QQ群
客服邮箱
回到顶部