matlab三点确定抛物线,[转]matlab编写的进退法,黄金分割法,抛物线法(二次插值法),wolfe不精确一维搜索...

这是我最优化方法课程的编程作业,贴来和大家分享,后续会继续发来一些最优化的程序。、

以下程序由matlab编写

程序简介

jintuifa.m

进退法,用于确定下单峰区间.根据最优化方法(天津大学出版社)20页算法1.4.3编写。

输出:[left right] 为下单峰区间

输入:y x x0

step y为函数,x为函数y的变量,x0 step(>0)分别为初始点,初始步长

golddiv.m

黄金分割法。根据最优化方法(天津大学出版社)17页算法1.4.2编写。

当保留的区间长度|b-a|<=epsilon时停止迭代

输出:[best_x best_fx] best_x为最优的x值,best_fx为最优的函数值

输入: y x a b

epsilon y为函数,x为函数y的变量,a,b为下单峰区间[a,b],epsilon为精确度

paowuxianfa.m

抛物线法(二次插值法)。根据最优化方法(天津大学出版社)22页算法1.4.5编写。

输出:[best_x best_fx] best_x为最优的x值,best_fx为最优的函数值

输入:x1 x0 x2 epsilon1 epsilon2 x1,x0,x2为已知的三点且满足f1>f0

wolfe.m

Wolfe不精确一维搜索。根据最优化方法(天津大学出版社)24页算法1.4.6编写。

输出:[alpha xk1] alpha为要求的步长,xk1为x(k+1)是得出的下一个点

输入:xk pk mu sigma x

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值