MATLAB用梯度法求解目标函数,我想用matlab梯度法求解目标函数用matlab梯度法求解二维无约束目标函数f(x)=x1^2+x2^2-x1x2-10x1-4x2+60的极小值,初始点x(上标0...

7d14a2b81882cfe4494b096a84150b2a.png 优质解答

(i)编写M文件detaf.m如下

function [f,df]=detaf(x);

f=x(1)^2+x(2)^2-x(1)*x(2)-10*x(1)-4*x(2)+60;

df(1)=2*x(1)-x(2)-10;

df(2)=2*x(2)-x(1)-4;

(ii)编写M文件tidu.m

clc

x=[2;2];

[f0,g]=detaf(x);

while norm(g)>0.001

p=-g'/norm(g);

t=1.0;f=detaf(x+t*p);

while f>f0

t=t/2;f=detaf(x+t*p);

end

x=x+t*p

[f0,g]=detaf(x)

end

在命令窗口运行tidu,回车

x =

0.9285

0.3714

f0 =

49.8848

g =

-8.5144 -4.1857

x =

1.8259

0.8126

f0 =

41.0013

g =

-7.1608

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值