9.19

function [k,x,val] = frcg(fun,gfun,x0,epsilon,N) %共轭梯度法求解无约束问题 % fun,gfun分别为目标函数及其梯度,x0是初始点 % epsilon是容许误差,N是最大的迭代次数 if nargin<5, N=10000;end if nargin<4, epsilon=1e-6;end beta=0.6; sigma=0.4; n=length(x0); k=0; while(k<N) gk=feval(gfun,x0);%计算x0处的梯度方向 itern=k-(n+1)*floor(k/(n+1)); itern=itern+1;%每迭代n次后,要重新开始迭代 if(itern==1) dk=-gk;%第一次的迭代方向取梯度的负方
posted @ 2024-09-19 15:40  灬倾夏  阅读(15)  评论(0)    收藏  举报