matlab程序阻尼牛顿法,利用matlab实现基于阻尼牛顿法函数的极小值确定

% ******forwardBackward.m******%

function [minx,maxx] = forwardBackward (f,x0,h,eps)

%目标函数:f;

%初始点:x0;

% 初始步长:h;

% 精度:eps;

% 目标函数读取包含极值区间左端点:minx;

% 目标函数读取包含极值区间右端点:maxx;

% 处理输入三个参数时情况

if nargin == 3

eps = 1.0e-6;

end

x1 = x0;

f1 = subs(f,findsym(f),x1);

x2 = x0 + h;

f2 = subs(f,findsym(f),x2);

if f1 > f2

x1 = x2;

x3 = x2;

x2 = x1 + h;

f1 = subs(f,findsym(f),x1);

f2 = subs(f,findsym(f),x2);

while f1 > f2

h = 2 * h;

x1 = x3;

x2 = x1 + h;

f1 = subs(f,findsym(f),x1);

f2 = subs(f,findsym(f),x2);

end

minx = x1;

maxx

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值