一维线性搜索——进退法matlab实现(含代码)

在采用线性搜索算法可分为两个阶段:第一个阶段确定包含最优解的初始搜索区间;第二个阶段采用某种算法对初始搜索区间进行缩小,直到达到精度为止。而进退法就给出了一种确定初始搜索区间的算法。下面是对进退法的具体描述和matlab实现。

1、算法思想

2、matlab实现

function [section]=JT(fx,x0,h0,t)
%%%输入目标函数fx,初始点x0,初始步长h0和加倍系数t;
%%%采用进退法确定搜索区间[a,b];
%%%输出搜索区间。
f=inline(fx);
k=0;    %%计数器,同时也做指示器:如果第1次目标函数就没有下降,将作为反向搜索的指示标记;
h=h0;
a=x0;
judge=1;    %%循环判断器;
while judge==1   %%ture,继续循环x1=x0+h; k=k+1;if  f(x1)<f(x0)   %%判断搜索方向,保证是下降方向;h=t*h;        %%加大步长,一般情况下选择加倍系数为2;a=x0;         %%最值区间的一端;x0=x1;        %%更新初始点;elseif k==1      %%判断初始方向是否错误;h=-h;      %%方向错误,选择反方向;else                judge=0;    %%error,不满足循环条件,将跳出循环。endend
endm=min(a,x1);n=max(a,x1);
section=sprintf('[%.4f,%.4f]',m,n);  %%格式化输出区间

3、实例检验

一维搜索——进退法matlab实现(含代码)相关推荐

  1. matlab用进退法写程序,进退法matlab程序

    极小值点包含于区间 [ x(1) , x(3) ]或[ x(3) , x(1) ] (3)算法的 MATLAB 实现在 MATLAB 中编程实现的进退函数为: min JT 功能:用进退法求解.... ...

  2. c语言编程用进退法求搜索区间代码,用c对函数进行优化的问题

    //多维无约束优化软件设计#include #include #include double det=1e-5; //计算精度double det1=1e-3; //梯度判断精度double ak=3 ...

  3. [图像]Canny检测的Matlab实现(含代码)

    原创文章,欢迎转载.转载请注明:转载自 祥的博客 原文链接:http://blog.csdn.net/humanking7/article/details/46606791 文章目录 @[toc] C ...

  4. 二次指数平滑法matlab程序_二次指数平滑法程序

    二次指数平滑法程序 线性指数平滑法 Matlab 程序,代码如下: 注: Data- 原始数据 s- 一次和二次平滑结果 at- 预测式中的 a 参数 bt- 预测式中的 b 参数 y1- 预测结果 ...

  5. Matlab代码,一维搜索用进退法确定搜索区间

    在使用二维优化算法时,经常需要调用一维搜索算法求步长,而一维搜索算法需要确定搜索区间.进退法不仅可以直接当作一维搜素算法使用,也可以用来确定一维搜索区间. 进退法确定搜索区间的原理是: 假设一维目标函 ...

  6. matlab三点确定抛物线,[转]matlab编写的进退法,黄金分割法,抛物线法(二次插值法),wolfe不精确一维搜索...

    这是我最优化方法课程的编程作业,贴来和大家分享,后续会继续发来一些最优化的程序.. 以下程序由matlab编写 程序简介 jintuifa.m 进退法,用于确定下单峰区间.根据最优化方法(天津大学出版 ...

  7. matlab用进退法写程序,matlab编写的进退法,黄金分割法,抛物线法(二次插值法),wolfe不精确一维搜索...

    这是我最优化方法课程的编程作业,贴来和大家分享,后续会继续发来一些最优化的程序.. 以下程序由matlab编写 程序简介 jintuifa.m 进退法,用于确定下单峰区间.根据最优化方法(天津大学出版 ...

  8. matlab无约束最优化的一般算法流程图及代码(进退法,Fibonacci,黄金分割法,抛物线法)

    本实验中函数用单独function计算 %函数[fx]=f(x) function fx=f(x) fx=x.^4-4*x.^3-6*x.^2-16*x+4; 一,进退法,Fibonacci,黄金分割 ...

  9. matlab求二元函数极值算法_最优化计算与matlab实现(3)——进退法

    参考资料 <精通MATLAB最优化计算(第二版)> 数值实现 Matlab 2019a 目录 石中居士:最优化计算与Matlab实现--目录​zhuanlan.zhihu.com 进退法 ...

  10. LL1分析构造法_数学建模算法--最优赋权法(含代码)

    数学建模算法--最优赋权法(含代码) 作者:郑铿城 本次介绍数学建模和科研写作的方法--最优赋权法最优赋权法经常用于分析评价类问题,从该算法的名称就可以看到,该算法首先要体现"最优" ...

最新文章

  1. SQL Server 2005故障转移群集
  2. rockemq 发送延迟消息_RockeMQ通过代码监控消费者状态
  3. java集合的批量新建_java使用Arrays.asList快速创建List集合
  4. python文件中环境声明_Python环境构建
  5. Spring Cloud比较好的博文地址
  6. golang fmt格式“占位符”
  7. php环境搭建5.6_WIN8.1下搭建PHP5.6环境
  8. C++ STL 优先队列
  9. memset 结构体内指针_数据结构之线性表应用——内存管理
  10. python安装方法_Python如何批量更新已安装的库,为你介绍六种方法!
  11. PyTorch 1.0 中文文档:多进程最佳实践
  12. 太慢不能忍!CPU 又拿硬盘和网卡开刀了!
  13. 杂谈--穷人和富人的区别(觉得很有道理,需要反思自己的日常行为)
  14. unity使用Curvy随机选择路线
  15. echarts制图详解
  16. NVIDIA驱动安装(arm64平台可用)
  17. c++读xml文件 MSXML
  18. 【NOI2006】 生日快乐
  19. som聚类用matlab实现,使用SOM对数据进行聚类
  20. Spirit - 腾讯移动 Web 整体解决方案

热门文章

  1. 移动宽带连接不上mysql_MySQL Workbench 6.2.4 下载 因为移动网络打不开官方也可能是国内网络问题 备用自己...
  2. 赛题解读 | 如何基于 Flink + AI 解决疫情防控难题?
  3. myeclipse导出war包出错Security alert解决办法
  4. vscode还用装git_如何给VScode配置git
  5. w10恢复出厂设置_Win10系统恢复出厂设置和重装系统有什么区别?
  6. java socket 简书_Java之Socket编程入门篇
  7. jlabel 不能连续两次set_请问一个JAVA中JLabel的setFont()问题?
  8. python 国产_再体验国产最好的Python IDE之NovalIDE
  9. springboot json 嵌套_Java Bean Validation 2.0 (一): 对Spring Boot应用的数据验证
  10. 力扣题目系列:474. 一和零