资源简介
优化方法:最速下降、阻尼牛顿、共轭梯度、BFGS法 matlab程序,以求解Rosen Brock函数极小值为例
程序有详细注释。
程序有详细注释。
代码片段和文件信息
function [xvalk]=minBFGS(fungfunx0)
%优化方法四:BFGS
%fuction:用共轭梯度法求解无约束问题:min f(x)
%Input:x0是初始点,fun是函数,gfun是偏导
%Output:x,val是近似最优点和最优值k是迭代次数
maxk=500;
rho=0.55;sigma=0.4;epsilon=1e-5;
k=0; n=length(x0);
Bk=eye(n);%Bk=feval(‘Hess‘x0);
while(k gk=feval(gfunx0);
if(norm(gk) break;
end
dk=-Bk\gk;
m=0;mk=0;
while(m<20)
newf=feval(funx0+rho^m*dk);
oldf=feval(funx0);
if(newf mk=m;break;
end
m=m+1;
end
x=x0+rho^mk*dk;
sk=x-x0;yk=feval(gfunx)-gk;
if(yk‘*sk>0)
Bk=Bk-(Bk*sk*sk‘*Bk)/(sk‘*Bk*sk)+(yk*yk‘)/(yk‘*sk);
end
k=k+1;x0=x;
end
val=feval(funx0);
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 796 2020-04-14 20:47 opt\minBFGS.m
文件 1095 2020-04-14 17:37 opt\minGE.m
文件 834 2020-04-14 18:39 opt\minNT.m
文件 2465 2020-04-14 23:01 opt\opt_steep.m
文件 268 2020-04-13 18:03 opt\Rosenbrock.m
文件 99 2020-04-09 21:05 opt\Rosenbrock_t.m
相关资源
- 基于DWT和SVD结合的水印嵌入MATLAB代码
- matlab中频响函数
- 层次聚类matlab代码
- 基于差值法的图像变化检测代码MATL
- 在Matlab中实现三维立方体的绘制
- 鸢尾花数据集bp算法matlab分类
- 图像放大缩小Matlab-带GUI线性插值-最邻
- 用matlab实现二分法
- 简易matlab版2048
- cic 滤波器的matlab程序
- 生成宽带信号的matlab函数.rar
- 利用重叠相加法计算快速卷积(matl
- 人工蜂群算法 matlab代码
- 三种传统去噪方法MATLAB代码
- matlab Global RX探测算法
- LBP特征提取 程序 代码 MATLAB版
- ADI(交替方向隐格式)求解二维抛物
- 空间前方交会matlab源代码
- ESPRIT算法估计功率谱密度 matlab程序
- 最近邻分类器Matlab实现
- 局部保持投影原文及matlab代码
- MATLAB 2017b 破解文件
- 实现jpeg压缩 的matlab程序
- MATLAB设计语音信号滤波器
- 无约束最优化的matlab代码
- 水平集matlab实现
- 线性预测及其Matlab实现,源码,程序
- 用Matlab实现学生综合成绩评定的模糊
- 基于bp神经网络的时间序列预测matla
- 均值滤波MATLAB代码实现
评论
共有 条评论