注:二分法与黄金分割法只适用于单峰函数

二分法求 f(x)=8x^3-2x-7x+3 在区间x=[0,1] 的最小值

试探点的求法:x1=(a+b)/2-e/2

x2=(a+b)/2+e/2

其中e是一个自行设置的足够小的值

找到试探点,并求出函数值,比大小:

若f(x1)<f(x2)   则区间取[0,x2]

若f(x1)>f(x2)   则区间取[x1,1]

计算一次得到新的区间之后,按照上面的公式再求出它的试探点,以此类推下去,直到找到自己设计的足够小的区间为止。

​
clc;
clear;
%%二分搜索法 mini f(x)=8x^3-2x^2-7x+3
f=@(x)8*x^3-2*x^2-7*x+3;
a=0;
b=1;
c=(a+b)/2;
mimex=0.63;%%自己计算的实际最小值点
e=0.1;
while(b-a>0.3)x1=c-e;x2=c+e;if(f(x1)>f(x2))a=x1;c=(a+b)/2;else b=x2;c=(a+b)/2;end
end
x=(a+b)/2;%取计算之后得到最小区间的中点
%%disp(x)显示变量x的值
disp(['最优解: x = ',num2str(x)]);
disp(['此时: f(x) = ',num2str(f(x))]);%使用disp函数和num2str()进行输出​

黄金分割法求minf(x)=2x^2-x-1 x=[-1.1],精度e=0.08

黄金分割法中r=0.618

求试探点的方法:

第一个试探点:
                x1=a+(1-r)(b-a);

x2=a+r(b-a);

算出f(x1)与f(x2)的值,比较

若f(x1)<f(x2)   则区间取[0,x2]

若f(x1)>f(x2)   则区间取[x1,1]

第二个试探点:取第一种情况,即 f(x1)<f(x2)   区间取[0,x2]

x3=x1(取它上一次留下的试探点,所以只需要计算一个点的值就可以了)

x4=a+r(b-a);

然后比较f(x3),f(x4)的值,若f(x3)>f(x4),则新区间为:[0,x4]

依次类推,最终得到一个小区间,这个区间的精度是自己设计的,

本题的区间精度设为e=0.08

%%比黄金分割法还差的是二分法,等间距二分法,三分法
%%黄金分割法适用于单谷函数求极小值
%%用黄金分割法求minf(x)=2x^2-x-1 x=[-1.1],精度e=0.08
clc;
clear;
a=-1;
b=1;
r=0.618;
f=@(x)2*x^2-x-1; %创建匿名函数
while(b-a>=0.08) x1=a+(1-r)*(b-a);x2=a+r*(b-a);if(f(x1)>f(x2))a=x1;else b=x2;end
end
x=(a+b)/2;%取计算之后得到最小区间的中点
%%disp(x)显示变量x的值
disp(['最优解: x = ',num2str(x)]);
disp(['此时: f(x) = ',num2str(f(x))]);%使用disp函数和num2str()进行输出

谢谢观看,有不对的地方请指教,三连谢谢。

二分法与黄金分割法matlab代码相关推荐

  1. 一维搜索方法/黄金分割法(附matlab代码)

    一维搜索方法中的黄金分割法(附matlab代码) 一维搜索方法:一维搜索,又称一维优化,是指求解一维目标函数 f(X) 最优解的过程,分为试探法和插值法. 黄金分割法:属于一维搜索方法中的试探法,适用 ...

  2. 一维搜索-黄金分割法matlab实现

    一维搜索-黄金分割法matlab实现 前言 1.黄金分割法 1.1 黄金分割法的定义 1.2 黄金分割法的搜索过程 2.黄金分割matlab实现 2.1 求f(x)=x^2-7*x+10的极值 2.2 ...

  3. 数学建模常用方法 | matlab代码 | 二十三种数学建模方法 |2022赛前突击 |模型代码 |比赛比用、简单高效| 分享

    为是赛前突击,所以就不过多的介绍理论知识了,直接上案例,matlab代码 更加详细例题解析: 公众h:露露IT 目录 1.类比法 2.二分法 3.量纲分析法 4.图论法 5.差分法 6.变分法 7.数 ...

  4. 龙格-库塔法(runge-kutta)matlab代码及含义,龙格-库塔法(Runge-Kutta)matlab代码及含义...

    龙格-库塔法(Runge-Kutta)matlab代码及含义 龙格-库塔法(Runge-Kutta) 数值分析中,龙格-库塔法(Runge-Kutta)是用于模拟常微分方程的解的重要的一类隐式或显式迭 ...

  5. arima模型matlab代码_PSTR面板平滑转换模型简介(附Matlab代码分享)

    写论文的时候用到的~相关的资料太少了,做一些简单内容和资料的分享.(PSTR模型的Matlab代码分享在最后)本文主要为简单理论和粗暴实操~ 有用的话可以点个赞哟(知乎小白卑微求赞) 嘻嘻下面进入正题 ...

  6. matlab数值分析拟合实例,数值分析函数拟合matlab代码.doc

    数值分析函数拟合matlab代码.doc 第一题MATLAB代码用SPLINE作图XI0204060810YI098092081064038X10012Y1NEWTON3XI,YI,X源代码见M文件Y ...

  7. 显著性图matlab,cvpr14_saliency_code 2014上的关于图像显著性区域的检测matlab代码。 271万源代码下载- www.pudn.com...

    文件名称: cvpr14_saliency_code下载  收藏√  [ 5  4  3  2  1 ] 开发工具: matlab 文件大小: 4413 KB 上传时间: 2014-09-07 下载次 ...

  8. 粒子群(pso)算法详解matlab代码,粒子群(pso)算法详解matlab代码

    粒子群(pso)算法详解matlab代码 (1)---- 一.粒子群算法的历史 粒子群算法源于复杂适应系统(Complex Adaptive System,CAS).CAS理论于1994年正式提出,C ...

  9. 变步长龙格库塔法matlab代码,matlab 龙格库塔法 变步长龙格库塔法.doc

    河北科技大学硕士学位研究生 2012--2013学年第二学期 <Matlab语言及应用>结课论文 学 院: 信息科学与工程学院 专 业: 电路与系统 姓 名: 张利超 学 号: S2012 ...

最新文章

  1. Word2010去除灰色中括号标记
  2. java中map的遍历方法_Java中Map的三种遍历方式
  3. java 微信申请退款的开发
  4. 《贫穷的本质》这本书让我找到为什么不少人缺钱和赚钱少的原因
  5. 读取excel内容在网页上显示出来
  6. 5个CSS3技术实现设计增强
  7. (响应式PC端媒体查询)电脑屏幕分辨率尺寸大全
  8. 如何卸载2345soft文件夹
  9. 如何将在不同文件夹下的批量plt文件转换为txt文件--python
  10. html网页中加入音乐播放器,html 网页添加音乐播放器
  11. 信度spss怎么做_怎么用spss处理信度和效度?
  12. McAfee解读风险管理之道 企业安全面临新挑战
  13. 解决导出Excel表的时候,中文文件名出现乱码的问题
  14. RStudio安装xlsx包
  15. Ubuntu查看一些版本 1
  16. python3:urllib/urllib2
  17. Linux安装postman工具
  18. 真 OO无双之真乱舞书 序言
  19. Appium的入门使用
  20. 3D版即时策略游戏(类似帝国时代)截图

热门文章

  1. 通孔的作用是什么linux,什么是通孔回流焊?有什么优点?
  2. Mac---Vue淘宝镜像安装
  3. MySQL 学习笔记
  4. 511遇见易语言数组操作删除成员方法封装函数
  5. 检测屏幕颜色显示坏点的一个小方法。(还有别的)
  6. 计算机删除游戏,永远留在硬盘里!PC玩家舍不得删除的经典单机游戏(一)
  7. 勇敢说:「要求加薪」,不必低声下气(上)
  8. 乔梁:实施 DevOps 过程中的两个关键思考
  9. mac 上php不可用,Mac_Mac蓝牙不可用怎么办?苹果电脑Mac蓝牙连不上iphone现象的解决办法介绍,Mac蓝牙不可用怎么办?有很多 - phpStudy...
  10. 现代APaaS产品的5C特点