收藏 分享(赏)

共轭梯度法 MATLAB程序.doc

上传人:j35w19 文档编号:6935281 上传时间:2019-04-27 格式:DOC 页数:3 大小:31KB
下载 相关 举报
共轭梯度法  MATLAB程序.doc_第1页
第1页 / 共3页
共轭梯度法  MATLAB程序.doc_第2页
第2页 / 共3页
共轭梯度法  MATLAB程序.doc_第3页
第3页 / 共3页
亲,该文档总共3页,全部预览完了,如果喜欢就下载吧!
资源描述

1、%conjugate gradient methods%method:FR,PRP,HS,DY,CD,WYL,LS%精确线 搜索,梯度终止准则function m,k,d,a,X,g1,fv = conjgradme( G,b,c,X,e,method)if nargin=ek(i-1)=(m/m1)2;d(:,i)=-g1(:,i)+k(i-1)*d(:,i-1);a(i)=-(d(:,i)*g1(:,i)/(d(:,i)*G*d(:,i); %a1(i)=-(X(:,i)*G*d(:,i)+b*d(:,i)/(d(:,i)*G*d(:,i);a(i)=g1(:,i)*g1(:,i)/(d(

2、:,i)*G*d(:,i);X(:,i+1)=X(:,i)+a(i)*d(:,i);g1=g1 subs(subs(g,x1,X(1,i+1),x2,X(2,i+1);m1=m;m=norm(g1(:,i+1);i=i+1;endcase PRPwhile m=ek(i-1)=g1(:,i)*(g1(:,i)-g1(:,i-1)/(norm(g1(:,i-1)2;d(:,i)=-g1(:,i)+k(i-1)*d(:,i-1);a(i)=-(d(:,i)*g1(:,i)/(d(:,i)*G*d(:,i); X(:,i+1)=X(:,i)+a(i)*d(:,i);g1=g1 subs(subs(g

3、,x1,X(1,i+1),x2,X(2,i+1);m=norm(g1(:,i+1);i=i+1;endcase HSwhile m=ek(i-1)=g1(:,i)*(g1(:,i)-g1(:,i-1)/(d(:,i-1)*(g1(:,i)-g1(:,i-1);d(:,i)=-g1(:,i)+k(i-1)*d(:,i-1);a(i)=-(d(:,i)*g1(:,i)/(d(:,i)*G*d(:,i);X(:,i+1)=X(:,i)+a(i)*d(:,i);g1=g1 subs(subs(g,x1,X(1,i+1),x2,X(2,i+1);m=norm(g1(:,i+1);i=i+1;endcas

4、e DYwhile m=ek(i-1)=g1(:,i)*g1(:,i)/(d(:,i-1)*(g1(:,i)-g1(:,i-1);d(:,i)=-g1(:,i)+k(i-1)*d(:,i-1);a(i)=-(d(:,i)*g1(:,i)/(d(:,i)*G*d(:,i); X(:,i+1)=X(:,i)+a(i)*d(:,i);g1=g1 subs(subs(g,x1,X(1,i+1),x2,X(2,i+1);m=norm(g1(:,i+1);i=i+1;endcase LSwhile m=ek(i-1)=g1(:,i)*(g1(:,i)-g1(:,i-1)/(d(:,i-1)*(-g1(:,

5、i-1);d(:,i)=-g1(:,i)+k(i-1)*d(:,i-1);a(i)=-(d(:,i)*g1(:,i)/(d(:,i)*G*d(:,i); %a(i)=-(X(:,i)*G*d(:,i)+b*d(:,i)/(d(:,i)*G*d(:,i);X(:,i+1)=X(:,i)+a(i)*d(:,i);g1=g1 subs(subs(g,x1,X(1,i+1),x2,X(2,i+1);m=norm(g1(:,i+1);i=i+1;endcase CDwhile m=ek(i-1)=g1(:,i)*g1(:,i)/(d(:,i-1)*(-g1(:,i-1);d(:,i)=-g1(:,i)+

6、k(i-1)*d(:,i-1);a(i)=-(d(:,i)*g1(:,i)/(d(:,i)*G*d(:,i); X(:,i+1)=X(:,i)+a(i)*d(:,i);g1=g1 subs(subs(g,x1,X(1,i+1),x2,X(2,i+1);m=norm(g1(:,i+1);i=i+1;endcase WYLwhile m=ek(i-1)=g1(:,i)*(g1(:,i)-(m/m1)*g1(:,i-1)/(m12);d(:,i)=-g1(:,i)+k(i-1)*d(:,i-1);a(i)=-(d(:,i)*g1(:,i)/(d(:,i)*G*d(:,i); %a(i)=-(X(:,

7、i)*G*d(:,i)+b*d(:,i)/(d(:,i)*G*d(:,i);X(:,i+1)=X(:,i)+a(i)*d(:,i);g1=g1 subs(subs(g,x1,X(1,i+1),x2,X(2,i+1);m1=m;m=norm(g1(:,i+1);i=i+1;endendfv=subs(subs(f,x1,X(1,i),x2,X(2,i); endl1=X(1,i);l2=X(2,i);w1=X(1,1);w2=X(2,1);v1=min(l1,w1)-abs(l1-w1)/10:abs(l1-w1)/10:max(l1,w1)+abs(l1-w1)/10;v2=min(l2,w2

8、)-abs(l2-w2)/10:abs(l2-w2)/10:max(l2,w2)+abs(l2-w2)/10;x,y=meshgrid(v1,v2);s=size(x);z=zeros(size(x);for i=1:s(1)for j=1:s(2)z(i,j)=1/2*x(i,j),y(i,j)*G*x(i,j);y(i,j)+b*x(i,j);y(i,j)+c;endendpx,py = gradient(z,.2,.2);contour(v1,v2,z), hold on, quiver(v1,v2,px,py)C,h = contour(x,y,z);set(h,ShowText,on,TextStep,get(h,LevelStep)*2)x1=X(1,:);y1=X(2,:);plot(x1,y1,r*:);

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

当前位置:首页 > 企业管理 > 管理学资料

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


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

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

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