拟牛顿法matlab分析和总结.docxVIP

  • 7
  • 0
  • 约1.13千字
  • 约 2页
  • 2022-04-06 发布于上海
  • 举报
拟牛顿法的 matlab 实现(转) 2011-03-16 15:07:04| 分类: matlab | 标签: |字号大中小 订阅 牛顿法成功的关键是利用了 Hesse 矩阵提供的曲率信息,但计算 Hesse 矩阵工作量大,并且有的目标函数的 Hesse 矩阵很难计算,甚至不好求出。针对这一问题,拟牛顿法比牛顿法更为有效。这类算法仅利用目标函数值和一阶导数的信息,构造出目标函数的曲率近似,使方法具有类似牛顿法的收敛速度快的优点。函数名:quasi_Newton(f,x0,error), 参数:f:待求梯度函数 x0:初始点 error:允许误差主程序: function A=quasi_Newton(f,x0,error) [a,b]=size(x0); G0=eye(b); initial_gradient=gradient_my(f,x0,b); norm0=0; norm0=initial_gradient*initial_gradient; syms step_zzh; A=[x0]; search_direction=-initial_gradient; x=x0+step_zzh*search_direction; f_step=subs(f,findsym(f),x); best_step=golden_search(f_step,-15,15); x_1=x0+b

文档评论(0)

1亿VIP精品文档

相关文档