确定搜索区间

上传人:枫** 文档编号:543623168 上传时间:2023-04-30 格式:DOC 页数:4 大小:287KB
返回 下载 相关 举报
确定搜索区间_第1页
第1页 / 共4页
确定搜索区间_第2页
第2页 / 共4页
确定搜索区间_第3页
第3页 / 共4页
确定搜索区间_第4页
第4页 / 共4页
亲,该文档总共4页,全部预览完了,如果喜欢就下载吧!
资源描述

《确定搜索区间》由会员分享,可在线阅读,更多相关《确定搜索区间(4页珍藏版)》请在金锄头文库上搜索。

1、一、算法理论对于初始区间的确定,可以采用以下方式。首先取一初始点,若,则在其右方取点;若,则令,;若仍有,则继续取点;若则以作为区间,否则继续做下去。对于的情况,则做类似于的情况去讨论。但是由于导数在计算过程中比较繁琐,我们也采用类似的方法找出,使其满足且便可得到含有极小点的区间,只需要比较函数值,而无需计算这样便简化了程序的设计。二、算法框图三、算法程序1、 源代码为:function y=f(x) y=6*x+6; 将文件命名为f.c2、程序主代码如下,该函数文件保存为d.mclear;a=input(请输入初始点);b=input(请输入初始步长);Y1=f(a); Y2=0;if Y1

2、0 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; endelseif Y1Y3 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; endelse A=a;B=a; endif AB disp(初始搜索区间为,num2str(A,B) else disp(极小值点是)Aend四、算法实现计算的极小点所在的搜索区间解:1、通过求导可知在matlab软件函数编辑器里面输入代码function y=f(x)y=6*x+6; 将其命名为f.m2、在命令窗口中输入保存好的程序文件命d,按下回车键3、给出初始点,这里以-2为例,按下回车键4、给出步长(要求大于0)0.3,回车5、如果出现导数得0的情况,则直接得到极小点

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 建筑/环境 > 施工组织

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号