matlab黄金分割算法实现与解析
来源:互联网 发布:学java走前端还是后端 编辑:程序博客网 时间:2024/06/10 13:31
% 0.618法求f(x) = x^2 - 7x + 10最小值,初始区间[1, 7],判断精度0.01
lower = 1;upper = 7;f = @(x) x ^ 2 - 7* x + 10; %匿名函数e = 0.01;ticwhile((upper - lower) >= e) alpha1 = lower + 0.382 * (upper - lower); alpha2 = lower + 0.618 * (upper - lower); if f(alpha1) < f(alpha2) upper = alpha2; else lower = alpha1; endendX = (lower + upper) / 2;tocdisp(['最优解: X = ',num2str(X)]);disp(['此时: f(X) = ',num2str(f(X))]);
%{
学习收获:
Anonymous functions:handle = @(arglist)anonymous_function(example :) f=@(x,y)x^2+y^2; f(1,2) %ans = 5(基本) f=@(x,y)x.^2+y.^2; a=1:1:10; b=10:-1:1; f(a,b) %ans = 101 85 73 65 61 61 65 73 85 101(输入数组)(3)(3)>> a=1:5; >> b=5:-1:1; >> c=0.1:0.1:0.5; >> f=@(x,y)x.^2+y.^2+c; >> f(a,b) % ans = 26.1000 20.2000 18.3000 20.4000 26.5000(包含参数)f=@(x,y)@(a) x^2+y^+a; f1=f(2,3) f1 = @(a)x^2+y^+a f2=f1(4) f2 = 85(多重)
advantage——Golden Section Method:
以0.618与0.382 作为系数考虑,相比于
其他系数经过试验发现它能有效提升求极
小值的收敛速度
具体为什么没想出来。。。
然后——参照了《关于黄金分割法的几点讨论》–刘艳
推荐可以看看
%}
阅读全文
0 0
- matlab黄金分割算法实现与解析
- matlab 黄金分割算法
- Kmeans及其改进算法的Matlab解析与实现
- 黄金分割算法
- 一维搜索算法——黄金分割法原理与实现
- A*算法与matlab实现
- FFT算法MATLAB实现与测试
- KMP算法解析与实现
- 黄金分割与构图
- Poisson image editing算法实现的Matlab代码解析
- 对ChiMerge问题的解析与程序实现(matlab)
- 黄金分割
- 黄金分割
- 黄金分割
- C++实现黄金分割法搜索
- FIBS与黄金分割的关系
- 黄金分割法与Fibonacci法
- 快速排序算法解析与实现
- 数路径
- 浪曦_Struts2应用开发系列_第2讲.Struts2的类型转换-学习笔记
- Keepalived中Master和Backup角色选举策略
- 高阶函数(二)
- scala 继承2
- matlab黄金分割算法实现与解析
- Android开发接第三方可能出现的问题
- Java内存区域
- Python脚本的“__name__”属性
- C与C++动态内存分配
- Java面向对象的程序设计
- ubantu下mxnet版本更新
- mac上安装htop
- 【大数据】Impala-数据加载