MATLAB之黄金分割法求极值
一、算法原理
该算法可以与进退法结合求函数极值,利用进退法求出高函数极小值所在的区间,将该区间作为输入利用黄金分割法求得极值。
假设函数f(x)的极值坐在区间为(a,b),利用黄金分割点
在区间(a,b)内插入两点:
x1=a+0.382*(b-a);
x2=a+0.618*(b-a);
将搜索区间分为三段:
比较f(x1)f(x2)的大小,
若 f(x1)<f(x2)
b=x2; 新的搜索区间为(a,x2)
否则
a=x1;新的搜索区间为(x1,b)
最后判断 abs(a,b) ,该区间是否足够小,取区间中点作为极值点。

二、matlab程序

clc
clear
f=@(x) x.^3-6*x+9;
fplot(f)
[a,b]=Min_jintui(f,0,0.001);
[fx,x]=huangjin(f,[a b],100)  % (a,b)为搜索区间
function [result,x]=huangjin(f,x0,n)
tol=1e-6;%精度
x1=x0(1);
x2=x0(2);
i=1;
while i < n%取中间值a=x1+0.382*(x2-x1);b=x1+0.618*(x2-x1);fa=f(a);fb=f(b);% 判断fa  fb大小,缩小区间if fa < fbx2=b;elsex1=a;endif  abs(x1-x2) < tolresult=f((x1+x2)/2);x=(x1+x2)/2;break;endi=i+1;
end
end

MATLAB之黄金分割法求极值相关推荐

  1. c语言黄金分割法求最小值,黄金分割法求极值(c编程)

    <黄金分割法求极值(c编程)>由会员分享,可在线阅读,更多相关<黄金分割法求极值(c编程)(3页珍藏版)>请在人人文库网上搜索. 1.流程图:b=a+i*h; i+f(a),f ...

  2. matlab对多元函数求导,MATLAB多元函数导数求极值或最优值Word版

    <MATLAB多元函数导数求极值或最优值Word版>由会员分享,可在线阅读,更多相关<MATLAB多元函数导数求极值或最优值Word版(9页珍藏版)>请在人人文库网上搜索. 1 ...

  3. matlab 中序列求极值的方法,Matlab中求序列的极值

    我们知道,在Matlab中有专门求序列最大值和最小值的函数,分别是Max 和 Min,但是有时候我们不满足于求整个序列的最值,而是对序列的极值,也就是局部的最值感兴趣.对于解析函 数,这个比较简单,只 ...

  4. matlab 局部极值点,matlab 图像局部求极值

    求极值的具体语句: 极值: data是你的数据, find(diff(sign(diff(data)))==-2)+1 找到极大值的位置 find(diff(sign(diff(data)))==2) ...

  5. matlab 图像 局部极值,[转载]matlab 图像局部求极值

    求极值的具体语句: 极值: data是你的数据, find(diff(sign(diff(data)))==-2)+1 找到极大值的位置 find(diff(sign(diff(data)))==2) ...

  6. Matlab三元隐函数求极值,matlab用三重循环求一个三元函数的最大值所对应的x1,x2,x3...

    用MATLAB实现for循环 t=2;whileS(t)>Pstrong&&t 求一个MATLAB循环语句表示这个矩阵200分 这样的,i和j是内部虚数变量,避免轻易使用.cle ...

  7. matlab中怎么求函数的最小值,matlab求函数的最小值

    将上述各函数值进行比较,最终确定出在 D 内的最大值和最小值. 3.函数求偏导数的 MATLAB 命令 MATLAB 中主要用 diff 求函数的偏导数,用 jacobian 求 ...... 第七讲 ...

  8. matlab求曲线极值程序,matlab函数求极值matlab函数求极值.ppt

    matlab函数求极值matlab函数求极值 * * 函数的极值 1.一元函数的极值 函数命令:fminbnd 调用格式:[x,feval,exitflag,output]=fminbnd(fun,x ...

  9. python求最值_用Python实现最速下降法求极值的方法

    对于一个多元函数 ,用最速下降法(又称梯度下降法)求其极小值的迭代格式为 其中 为负梯度方向,即最速下降方向,αkαk为搜索步长. 一般情况下,最优步长αkαk的确定要用到线性搜索技术,比如精确线性搜 ...

  10. 利用0.618法(黄金分割法)求极小值

    [书籍]马昌风-最优化方法与MATLAB程序设计 书中例题编程详解 利用0.618法(黄金分割法)求极小值 思路图解: MATLAB程序如下: clc,clear; epsilon=10^-4; ph ...

最新文章

  1. python表格控件_python GUI库图形界面开发之PyQt5表格控件QTableView详细使用方法与实例...
  2. 把自己编写的python模块添加到PYTHONPATH上
  3. ElementUI Pagination 分页器绑定数据
  4. vue element-ui级联选择器选中后下拉框自动收起
  5. java读图片显示到前端_java从前端获取参数添加到图片后返回整张图片
  6. TFS 无法找到新加的Windows用户
  7. 头条账号权重被降低后会导致点赞推荐兑换率会下降
  8. leetcode —— 数组(1. Two Sum)
  9. 两个选择框 ajax如何根据另一个选择框的内容获取_Python数据结构:数据框
  10. 深度学习2.0-15.随机梯度下降之梯度下降简介
  11. 设计模式必须遵守的六大原则
  12. 网站目录提交-SEO搜索引擎优化
  13. 从零开始学英语 (洪恩教学光盘 8CD)
  14. JAVA代码走查审查规范
  15. 微信小程序开发踩坑日志
  16. 285. 二叉搜索树中的中序后继
  17. Kettle组件 计算器全解析
  18. 文件碎片/磁盘碎片的一些知识
  19. AutoLeaders控制组—51单片机学习笔记(LED控制、独立按键、数码管)
  20. Effective C++ 条款11_不止于此

热门文章

  1. “Flash闪存”基础 及 “SD NAND Flash”产品的测试
  2. dp主机_miniDP转DP和type-C转DP连接线上机简单测评
  3. 奇异矩阵和非奇异矩阵 行列式矩阵简单理解 代数意义 几何意义 行列式的定义: 二阶行列式的几何意义: 三阶行列式的几何意义: 行列式化为对角形的几何解释: 二阶行列式乘积项的几何意
  4. Ubuntu20.04开启night夜间模式保护视力
  5. UE4编辑器扩展踩坑血泪史
  6. 构建您的第一个Web爬网程序,第3部分
  7. django jwt token 令牌
  8. 网络安全等级保护拓扑图大全
  9. 2sum/3sum/ksum 问题
  10. 阿里云服务器使用https访问项目