确定搜索区间.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
一、算法理论 对于初始区间的确定,可以采用以下方式。首先取一初始点,若,则在其右方取点;若,则令,;若仍有,则继续取点;若则以作为区间,否则继续做下去。对于的情况,则做类似于的情况去讨论。 但是由于导数在计算过程中比较繁琐,我们也采用类似的方法找出,,使其满足且便可得到含有极小点的区间,只需要比较函数值,而无需计算这样便简化了程序的设计。 二、算法框图 三、算法程序 1、 源代码为:function y=f(x) y=6*x+6; 将文件命名为f.c 2、程序主代码如下,该函数文件保存为d.m clear; a=input(请输入初始点); b=input(请输入初始步长); Y1=f(a); Y2=0; if Y10 k=1; Y3=f(a-k*b); while Y2Y3 k=k+1; Y3=f(a-k*b); end if Y30 A=a-k*b;B=a-(k-1)*b; else A=a-k*b;B=a-k*b; end elseif Y1Y2 k=1;Y3=f(a+k*b); while Y2Y3 k=k+1; Y3=f(a+k*b); end if Y30 A=a+(k-1)*b;B=a+k*b; else A=a+k*b;B=a+k*b; end else A=a;B=a; end if AB disp([初始搜索区间为,num2str([A,B])]) else disp(极小值点是) A end 四、算法实现 计算的极小点所在的搜索区间 解:1、通过求导可知 在matlab软件函数编辑器里面输入代码 function y=f(x) y=6*x+6; 将其命名为f.m 2、在命令窗口中输入保存好的程序文件命d,按下回车键 3、给出初始点,这里以-2为例,按下回车键 4、给出步长(要求大于0)0.3,回车 5、如果出现导数得0的情况,则直接得到极小点

文档评论(0)

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

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

1亿VIP精品文档

相关文档