使用阻尼牛顿法求解

利用Amijio非精确线搜索
初始点x^0=(0,0),经条件1e-6或n=2000

代码:

%建立NTtest.m文件
clear all
clc
x0=[0,0]';
fun=@(x)100*(x(1)^2-x(2))^2+(x(1)-1)^2;
gfun=@(x)[400*x(1)*(x(1)^2-x(2))+2*(x(1)-1), -200*(x(1)^2-x(2))]';
Hesse=@(x)[1200*x(1)^2-400*x(2)+2,-400*x(1);-400*x(1),200]';
[x,val,k]=minNT(fun,gfun,Hesse,x0)建立minNT.m文件
function [x,val,k]=minNT(fun,gfun,Hesse,x0)
%注意传过来的是变量,而不是函数
%功能:用阻尼牛顿法求解无约束问题:min f(x)
%输入:x0是初始点,梯度函数,Hesse阵的函数
%输出:x,val是近似最优点和最优值,k是迭代次数
maxk=2000;%给出最大迭代次数
rho=0.5;sigma=0.4;gama=0.5;
epsilon=1e-6;
k=0;
while (k<maxk)gk=feval(gfun,x0);%计算梯度Gk=feval(Hesse,x0);%计算Hesse阵dk=-Gk\gk;%计算搜索方向if(norm(gk)<epsilon) break;end%Armijio线搜索寻找最佳步长alphamk=0;while(mk<20)if(feval(fun,x0+rho*gama^mk*dk)<=feval(fun,x0)+sigma*rho*gama^mk*gk'*dk)alpha=rho*gama^mk;break;endmk=mk+1;     endx0=x0+alpha*dk;k=k+1;
endx=x0;
val=feval(fun,x);
format short
end

结果:
x =

1.0000
1.0000

val =

2.1283e-15

k =

36

每天进步一点点

最优化——阻尼牛顿法相关推荐

  1. 最优化理论——阻尼牛顿法

    最优化理论--阻尼牛顿法 算法思想 算法步骤 代码 示例 算法思想 由于实际问题的精确极小点一般是不知道的, 因此初始点的选取给算法的实际操作带来了很大的困难. 为了克服这一困难, 可引入线搜索技术以 ...

  2. 陈宝林《最优化理论与算法》超详细学习笔记 (一)————第十章 使用导数的最优化方法(最速下降法、牛顿法、阻尼牛顿法)

    陈宝林<最优化理论与算法>超详细学习笔记 (一)----第十章 使用导数的最优化方法(最速下降法.牛顿法.阻尼牛顿法) 写在前面 第十章 使用导数的最优化方法 最速下降法 牛顿法 阻尼牛顿 ...

  3. 寻找最优参数解:最速下降法,牛顿下降法,阻尼牛顿法,拟牛顿法

    感谢于建民的投稿,转载请注明出处:数盟社区 机器学习的一个重要组成部分是如何寻找最优参数解.本文就常见寻优方法进行总结,并给出简单python2.7实现,可能文章有点长,大家耐心些. 寻找最优参数解, ...

  4. 无约束优化:修正阻尼牛顿法

    文章目录 无约束优化:修正阻尼牛顿法 梯度法的困难 经典牛顿法 定义 收敛性证明 修正阻尼牛顿法 考虑修正阻尼牛顿法的起因 如何构造修正矩阵M 参考文献 无约束优化:修正阻尼牛顿法 梯度法的困难 无约 ...

  5. L-BFGS算法/Broyden族/BFGS算法/阻尼牛顿法的Python实现代码

    下面定义了三个Python语言编写的函数:函数表达式fun,梯度向量gfun,和海森矩阵hess.这三个表达式在后面各个算法的实现中会用到. # 函数表达式fun fun = lambda x:100 ...

  6. matlab解决阻尼牛顿,matlab阻尼牛顿法例题

    <matlab阻尼牛顿法例题>由会员分享,可在线阅读,更多相关<matlab阻尼牛顿法例题(2页珍藏版)>请在人人文库网上搜索. 1.精品文档. Use damped Newt ...

  7. 修正牛顿法matlab,牛顿算法及其改进【阻尼牛顿法、修正牛顿法】

    牛顿算法 对于优化函数\(f(x)\),\(x=(x_1;x_2;...;x_n)\),二阶连续可导 在\(x_k\)处泰勒展开,取前三项,即对于优化函数二阶拟合 \[f(x)=f(x_k)+g_k( ...

  8. 最优化学习 牛顿法(Newton’s method)

    牛顿法(Newton's method) 牛顿法(Newton's method) 收敛性分析 ∃ η > 0 \exists \eta>0 ∃η>0 图示和例子 优点和缺陷 全部笔 ...

  9. 【数学与算法】牛顿法的两种应用:求根和最优化

    原文链接:点击 平时总看到牛顿法怎样怎样,一直不得要领,今天下午查了一下维基百科,写写我的认识,很多地方是直观理解,并没有严谨的证明.在我看来,牛顿法至少有两个应用方向,1.求方程的根,2.最优化.牛 ...

最新文章

  1. tuple parameter unpacking is not supported in python3
  2. jquery最快速入门文档
  3. 生动形象的理解什么是装饰器!
  4. muyucms轻量级内容cms
  5. jQuery LigerUI 插件介绍及使用之ligerDrag和ligerResizable
  6. 数学 - 线性代数导论 - #9 Ax=b的解:存在性、解法、解的结构、解的数量
  7. mysql解压版有配置文件么_3分钟安装MySQL5.7解压版
  8. hyperledger fabric 节点数限制 最大
  9. android环境混合app开发,cordova混合App开发:Cordova+Vue实现Android (环境搭建)
  10. oracle 中execute immediate 是什么意思?
  11. Unity中的资源管理-一整套简单的资源管理方案(1)
  12. java工资高还是web前端工资高_java工资高还是php,java工资高还是web前端工资高,php和java学费...
  13. shine your way
  14. 图神经网络(GNN)资源帖视频及必读论文
  15. CCF [201703-1] 分蛋糕(C++)
  16. html嵌入播放器,flv视频播放器 Flvplayer.swf 可自动播放参数说明
  17. 抖音、美团等大厂千万级用户的Android客户端架构演进之路—
  18. hanlp自然语言处理包的基本使用--python
  19. Unity学习篇之txt文本文档的多种读写方式
  20. ubuntu 下怎么查看内存条状况

热门文章

  1. 快手在线查询权重网站源码+接口
  2. 少年,这里有5本Python3爬虫书
  3. 关于js数组方法的题目整理 6.24更新至题目5
  4. python求均值 有限存储量_python计算均值
  5. python数据分析与挖掘(二十七)--- Pandas量化--股票基础知识
  6. Xftp卸载修复报错1628:完成基于脚本的安装失败
  7. 计算机技术教学,小学计算机技术教学计划
  8. JavaSE基础(21) 打印数组
  9. 使用Pr时输出设备没有声音问题
  10. cas4.0实现多种方式邮箱/手机号码登录及认证