二分法与黄金分割法matlab代码
注:二分法与黄金分割法只适用于单峰函数
二分法求 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代码相关推荐
- 一维搜索方法/黄金分割法(附matlab代码)
一维搜索方法中的黄金分割法(附matlab代码) 一维搜索方法:一维搜索,又称一维优化,是指求解一维目标函数 f(X) 最优解的过程,分为试探法和插值法. 黄金分割法:属于一维搜索方法中的试探法,适用 ...
- 一维搜索-黄金分割法matlab实现
一维搜索-黄金分割法matlab实现 前言 1.黄金分割法 1.1 黄金分割法的定义 1.2 黄金分割法的搜索过程 2.黄金分割matlab实现 2.1 求f(x)=x^2-7*x+10的极值 2.2 ...
- 数学建模常用方法 | matlab代码 | 二十三种数学建模方法 |2022赛前突击 |模型代码 |比赛比用、简单高效| 分享
为是赛前突击,所以就不过多的介绍理论知识了,直接上案例,matlab代码 更加详细例题解析: 公众h:露露IT 目录 1.类比法 2.二分法 3.量纲分析法 4.图论法 5.差分法 6.变分法 7.数 ...
- 龙格-库塔法(runge-kutta)matlab代码及含义,龙格-库塔法(Runge-Kutta)matlab代码及含义...
龙格-库塔法(Runge-Kutta)matlab代码及含义 龙格-库塔法(Runge-Kutta) 数值分析中,龙格-库塔法(Runge-Kutta)是用于模拟常微分方程的解的重要的一类隐式或显式迭 ...
- arima模型matlab代码_PSTR面板平滑转换模型简介(附Matlab代码分享)
写论文的时候用到的~相关的资料太少了,做一些简单内容和资料的分享.(PSTR模型的Matlab代码分享在最后)本文主要为简单理论和粗暴实操~ 有用的话可以点个赞哟(知乎小白卑微求赞) 嘻嘻下面进入正题 ...
- matlab数值分析拟合实例,数值分析函数拟合matlab代码.doc
数值分析函数拟合matlab代码.doc 第一题MATLAB代码用SPLINE作图XI0204060810YI098092081064038X10012Y1NEWTON3XI,YI,X源代码见M文件Y ...
- 显著性图matlab,cvpr14_saliency_code 2014上的关于图像显著性区域的检测matlab代码。 271万源代码下载- www.pudn.com...
文件名称: cvpr14_saliency_code下载 收藏√ [ 5 4 3 2 1 ] 开发工具: matlab 文件大小: 4413 KB 上传时间: 2014-09-07 下载次 ...
- 粒子群(pso)算法详解matlab代码,粒子群(pso)算法详解matlab代码
粒子群(pso)算法详解matlab代码 (1)---- 一.粒子群算法的历史 粒子群算法源于复杂适应系统(Complex Adaptive System,CAS).CAS理论于1994年正式提出,C ...
- 变步长龙格库塔法matlab代码,matlab 龙格库塔法 变步长龙格库塔法.doc
河北科技大学硕士学位研究生 2012--2013学年第二学期 <Matlab语言及应用>结课论文 学 院: 信息科学与工程学院 专 业: 电路与系统 姓 名: 张利超 学 号: S2012 ...
最新文章
- Word2010去除灰色中括号标记
- java中map的遍历方法_Java中Map的三种遍历方式
- java 微信申请退款的开发
- 《贫穷的本质》这本书让我找到为什么不少人缺钱和赚钱少的原因
- 读取excel内容在网页上显示出来
- 5个CSS3技术实现设计增强
- (响应式PC端媒体查询)电脑屏幕分辨率尺寸大全
- 如何卸载2345soft文件夹
- 如何将在不同文件夹下的批量plt文件转换为txt文件--python
- html网页中加入音乐播放器,html 网页添加音乐播放器
- 信度spss怎么做_怎么用spss处理信度和效度?
- McAfee解读风险管理之道 企业安全面临新挑战
- 解决导出Excel表的时候,中文文件名出现乱码的问题
- RStudio安装xlsx包
- Ubuntu查看一些版本 1
- python3:urllib/urllib2
- Linux安装postman工具
- 真 OO无双之真乱舞书 序言
- Appium的入门使用
- 3D版即时策略游戏(类似帝国时代)截图
热门文章
- 通孔的作用是什么linux,什么是通孔回流焊?有什么优点?
- Mac---Vue淘宝镜像安装
- MySQL 学习笔记
- 511遇见易语言数组操作删除成员方法封装函数
- 检测屏幕颜色显示坏点的一个小方法。(还有别的)
- 计算机删除游戏,永远留在硬盘里!PC玩家舍不得删除的经典单机游戏(一)
- 勇敢说:「要求加薪」,不必低声下气(上)
- 乔梁:实施 DevOps 过程中的两个关键思考
- mac 上php不可用,Mac_Mac蓝牙不可用怎么办?苹果电脑Mac蓝牙连不上iphone现象的解决办法介绍,Mac蓝牙不可用怎么办?有很多 - phpStudy...
- 现代APaaS产品的5C特点