matlab求解外推法和黄金分割法

求大佬解答,目前遇到的问题主要包括两方面

1.老师布置作业需要写一段通过黄金分割法求极值的代码(主要代码如下),但是现在这段代码无法运行。所以希望有人能帮忙解答一下并且能够运行起来(希望能添加注释)

2.第二个问题就是黄金分割法的初始区间通过外推法得到(下面这段代码的初始区间是自己取的)。所以希望有人能够在下面这段黄金分割法的代码运行的基础上添加一段可以运行的外推法的代码求出初始区间(初始区间就用这段代码里取的)

再次真诚的希望有人能够解答。老师布置的作业我真的不不会做。好人一生平安!

functiaon y = fun_gs(x)
y=x^3-2*x+1
end
function y= fun_gs(x)
y=x^3-2*x+1
a=-1;
b=5;
eps=0.2;
n=0;
i=100;
a1=b-0.618*(b-a);
a2=a+0.618*(b-a);
y1=fun_gs(a1);
y2=fun_gs(a2);
for k=1:i
    if (abs(b-a)<=eps)
        y=fun_gs((b+a)/2)
        break;
    else
        if (y1<=y2)
            y2=fun_gs(a1);
            b=a2;
            a2=a1;
            a1=b-0.618*(b-a);
            y1=fun_gs(a1);
        else
            y1=fun_gs(a2);
            a=a1;
            a1=a2;
            a2=a+0.618*(b-a);
            y2=fun_gs(a2);
        end
        n=n+1;
    end
end
n;x=(a+b)/2;y;

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值