opt_steepest-梯度下降法的matlab程序_第1页
opt_steepest-梯度下降法的matlab程序_第2页
opt_steepest-梯度下降法的matlab程序_第3页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、理论考虑到函数f(x )在点x(k ) )处沿着方向d的方向导数f_d (x(k) ) )=f(x(k) ) )T d其意思是f(x )在点x(k ) )处沿着方向d的变化率。 如果f连续地微小,则方向导数为负,表示函数值在该方向上下降的方向导数越小,表示下降越快。 因此,确定搜索方向d(k ) )的一种想法是将f(x )在点x(k ) )处点方向导数最小的方向作为搜索方向d(k) )=-f(x(k ) )因此,将这种方法定为最速下降法。要解决问题,请选择“最小”(x-r n ) f (x )、fC1。最速降法的具体步骤是(1)选定初始点x(1) )和规定的精度要求0,设为k=1(2)如果f(

2、x(k)2144444444444航空航空航空653在x(k ) )处沿方向d(k ) )进行线性搜索,并进行x(k 1) )=x(k) ) _k d(k ) )、k=k 1、电路2。第三步是用精确的线而不是近似的方法来搜索_k=argmin f (x(k) ) d(k ) )“argmin f (x )”表示f(x )的最小点。最速降法是求梯度。例如,求出f=(x-y)/(x2 y2 2 )在(-3,-2)处的梯度。clc; 清除程序x=-3; y=-2f=(x-y)/(x2 y2 2 )对fx=diff(f,x)%进行偏微分对fy=diff(f,y)%进行偏微分g=fx fy%梯度将g=s

3、ubs(g)%符号变量转换为数值函数 XO,fo=Opt_Steepest(f,grad,x0,TolX,TolFun,dist0,MaxIter )用%最速降法求最佳解决%输入: f是函数名称,grad是梯度函数%x0是解的初始值TolX,TolFun是变量和函数的误差阈值%dist0是初始步MaxIter是最大迭代次数%输出: xo是取最小值的点fo为最小的函数值% f0=f(x(0) )确定要输入的变量数,并将某些变量设置为默认值PK PK 7MaxIter=100; %最大迭代次数默认为100结束PPS 6dist0=10; %初始步默认为10结束PPK 5TolFun=1e-8; %

4、函数值的误差是1e-8结束PS PS 4TolX=1e-6; %自变量距离误差结束%“第一步”计算的初始值函数值x=x0;fx0=feval(f,x0)fx=fx0;dist=dist0;kmax1=25; %线性搜索法确定步长的最大搜索次数warning=0;用%反复计算求最佳解for k=1:最大推特g=feval(grad,x )求出g=g/norm(g) %x处的梯度方向用%线性搜索方法确定步骤dist=dist*2; 把%步增加到原来步的两倍fx1=feval(f,x-dist*2*g )for k1=1:kmax1fx2=fx1;fx1=feval(f,x-dist*g )一个if

5、fx 0f x1 tolfunfx 1fx2- tol fun % FX 0f x1fx 2den=4*fx1 - 2*fx0 - 2*fx2; num=den - fx0 fx2; %二次近似法dist=dist*num/den;x=x - dist*g; fx=feval(f,x) %确定以下点break;elsedist=dist/2;结束结束PS1=PS 1warning=warning 1; %无法确定最佳步骤elsewarning=0;结束if warning=2| (norm (x-x0 ) tolxabs (FX-fxx0) tol fun )break;结束x0=x;fx0=fx;结束xo=x; fo=fx;if k=MaxIterfprintf (justbestin % dinterations,MaxIter )结束用最速降法求解%小GFA.m优化问题f1=线性(x (1) 24 * x (2) 2,x ); %目标函数grad=inline(2*x(1),8*x(2),x; %目标函数的梯度函数x0=1 1; %x0是搜索初始值TolX=1e-4; %TolX是最佳值点之间的误差阈值TolFun=1e-9; %TolFun是函数的误差阈值最大推特=2; %MaxIter是最大迭代次数xo,fo=Opt_S

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论