⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 wolfe.m

📁 结构方程中拟合函数的迭代算法
💻 M
字号:
function [alphak]=Wolfe(X_k,dk,Fml,G,S,Lambda_Y,Lambda_X,Beta,Gamma,Phi,Psi,Theta_epsilon,Theta_delta)

         rho=0.2;deta=0.4; alpha1=0;alpha2=3; alpha=1.2;
         xk1=X_k;
         d=dk;
         fk1=Fml;
         gk1=G;
         i=0;
          while 1  
              i=i+1;
             xk2=xk1+alpha*d;
             [Lambda_Y1,Lambda_X1,Beta1,Gamma1,Phi1,Psi1,Theta_epsilon1,Theta_delta1]=X_Update(xk2,Lambda_Y,Lambda_X,Beta,Gamma,Phi,Psi,Theta_epsilon,Theta_delta);
             fk2=FunValue(S,Lambda_Y1,Lambda_X1,Beta1,Gamma1,Phi1,Psi1,Theta_epsilon1,Theta_delta1);
             gk2=G_Update(S,Lambda_Y1,Lambda_X1,Beta1,Gamma1,Phi1,Psi1,Theta_epsilon1,Theta_delta1);
         
             if fk2-fk1>rho*alpha*(gk1'*d)
                 alphap=alpha1+0.5*(alpha-alpha1)/(1+(fk1-fk2)/((alpha-alpha1)*gk1'*d));
                 alpha2=alpha;
                 alpha=alphap; 
   
             elseif gk2'*d>=deta*gk1'*d
                 alphak=alpha;
                 break;
             else
                 alphap=alpha+(alpha-alpha1)*gk2'*d/(gk1'*d-gk2'*d);
                 alpha1=alpha;
                 
                 fk1=fk2;
                 gk1=gk2;
                 alpha=alphap;
             end           
         end
         
             

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -