欢迎来到天天文库
浏览记录
ID:50901584
大小:12.51 KB
页数:2页
时间:2020-03-15
《共轭梯度法matlab实例.docx》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、clearall;closeall;clc;symsx1x2t;f=2*x1^2+x2^2-x1*x2;f_grad=[diff(f,x1);diff(f,x2)];X0=[1;1];n=10;epsonal=0.01;fx=inline(f);fx_grad=inline(f_grad);X=X0;fx0=fx(X(1),X(2));fx0_grad=fx_grad(X(1),X(2));while1iffx0_grad.'*fx0_grad<=epsonalbreak;endP0=-fx0_grad;k=0;while1Xk=X+t*P0;fx1=fx(Xk(1),Xk(2)
2、);[tk,y]=equation_extremum(fx1,t,-1,5,epsonal);Xk=X+tk*P0;fx0_k=fx(Xk(1),Xk(2));fx0_grad_k=fx_grad(Xk(1),Xk(2));iffx0_grad_k.'*fx0_grad_k<=epsonalfx0_grad=fx0_grad_k;break;endifk+1==nX=X;elselamdak=fx0_grad_k.'*fx0_grad_k/(fx_grad(X(1),X(2)).'*fx_grad(X(1),X(2)));P0=-fx0_grad_k+lamdak*P0;X=Xk
3、;k=k+1;endendendXkfx0_k运行结果:Xk=1.0e-03*0.04860.5350fx0_k=2.6495e-07
此文档下载收益归作者所有