《MATLAB程序设计实践》课程考核.docVIP

  1. 1、本文档共17页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
《MATLAB程序设计实践》课程考核 实践一、编程实现以下科学计算法,并举一例应用之。(参考书籍《精通MATLAB科学计算》,王正林等著,电子工业出版社,2009年) “最速下降法无约束最优化” 最速下降法: 解: 算法说明:最速下降法是一种沿着N维目标函数的负梯度方向有哪些信誉好的足球投注网站最小值的方法。 原理:由高等数学知识知道任一点的负梯度方向是函数值在该点下降最快的方向,那么利用负梯度作为极值有哪些信誉好的足球投注网站方向,达到搜寻区间最速下降的目的。而极值点导数性质,知道该点的梯度=0,故而其终止条件也就是梯度逼近于0,也就是当搜寻区间非常逼近极值点时,即:当▽f(a)→0推出f(a)→,f(a)即为所求。该方法是一种局部极值搜寻方法。 函数的负梯度表示如下: -g(x)=-▽f(x)=- … 有哪些信誉好的足球投注网站步长可调整,通常记为αk(第k次迭代中的步长)。该算法利用一维的线性有哪些信誉好的足球投注网站方法,如二次逼近法,沿着负梯度方向不断有哪些信誉好的足球投注网站函数的较小值,从而找到最优解。 方法特点(1)初始值可任选,每次迭代计算量小,存储量少,程序简短。即使从一个不好的初始点出发,开始的几步迭代,目标函数值下降很快,然后慢慢逼近局部极小点。(2)任意相邻两点的有哪些信誉好的足球投注网站方向是正交的,它的迭代路径胃绕道逼近极小点。当迭代点接近极小点时,步长变得很小,越走越慢。(3)全局收敛,线性收敛,易产生扭摆现象而造成早停。 算法步骤:最速下降法的基本求解流程如下: 第一步 迭代次数初始化为k=0,求出初始点的函数值f=f()。 第二步 迭代次数加1,即k=k+1,用一维线性有哪些信誉好的足球投注网站方法确定沿负梯度方向-的步长,其中=ArgMinaf()。 第三步 沿着负梯度方向寻找下一个接近最小值的点,其中步长为,得到下一点的坐标为:。 第四步 如果≈,且f()≈f(),那么就认为为所求的最小值点,并结束循环;否则,就跳到步骤二。 流程图: -g(x)=- -g(x)=-▽f(x) 给定,e k=0 开始 。 :minf() = 结束 =ArgMinaf() k=k+1 是 否 题目: 最速下降法求解无约束最优化问题实例。采用最速下降法求如下函数的最小值问题: f(x,y)=x(x-5-y)+y(y-4) 即用最速下降法求解函数的最小值问题。 解:需先求出该函数的梯度函数。可知其梯度函数为:g(x)=(2x-5-y,-x+2y-4)。 源程序代码如下: Opt_Steepest.m文件 %用最速下降法求最优化解; function [xo,fo]=Opt_Steepest(f,grad,x0,TolX,TolFun,dist0,MaxIter) %f:函数名; %grad:梯度函数; %x0:有哪些信誉好的足球投注网站初始值; %TolX:最优值点间的误差阈值; %TolFun:函数的误差阈值; %dist0:初始步长; %MaxIter:最大的迭代次数; %xo:最优化点值; %fo:函数在点xo处的函数值。 %%%%%%判断输入的变量数,设定一些变量为默认值 if nargin7 MaxIter=100; %最大的迭代次数默认为100 end if nargin6 dist0=10; %初始步长默认为10 end if nargin5 TolFun=1e-8; %函数值误差为1e-8 end if nargin4 TolX=1e-6; %自变量距离误差 end x=x0; fx0=feval(f,x0); fx=fx0; dist=dist0; kmax1=25; %线性有哪些信誉好的足球投注网站法确定步长的最大有哪些信誉好的足球投注网站次数 warning=0; %%%%%迭代计算求最优解 for k=1:MaxIter g=feval(grad,x); g=g/norm(g); %求点x处的梯度 %%线性有哪些信誉好的足球投注网站方法确定步长 dist=dist*2; fx1=feval(f,x-dist*2*g); for k1=1:kmax1 fx2=fx1; fx1=feval(f,x-dist*g); if fx0fx1+TolFun fx1fx2-TolFun %fx0fx1fx2, den=4*fx1-2*fx0-2*fx2;num=den-fx0+fx2; %二次逼近法 dist=dist*num/den; x=x-di

文档评论(0)

kfcel5889 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档