matlab用最速下降法(梯度法)计算Rosenbrock函数,求程序代码 200

初始点(0,0),精度10^(-4)... 初始点(0,0),精度10^(-4) 展开
 我来答
lhmhz
高粉答主

推荐于2017-12-16 · 专注matlab等在各领域中的应用。
lhmhz
采纳数:7264 获赞数:17013

向TA提问 私信TA
展开全部

Rosenbrock函数

实现代码:

clc,clear all

format long g

x0=[0;0];

fun=@func;

gfun=@gfunc;

[x,val,k]=grad(fun,gfun,x0)   %最速下降法(梯度法

目标函数

function f=func(x)

f=100*(x(1)^2-x(2))^2+(1-x(1))^2;

end

梯度函数

function g=gfunc(x)

g=[400*x(1)*(x(1)^2-x(2))-x(2)+2*(x(1)-1);-200*(x(1)^2-x(2))]; 

end

运行结果

如有问题,可以私信于我。

遗传算法ga()求Rosenbrock函数的结果,与用上述方法的结果相接近。

百度网友267f60d
2017-12-06
知道答主
回答量:1
采纳率:0%
帮助的人:925
引用lhmhz的回答:
Rosenbrock函数

实现代码:
clc,clear all
format long g
x0=[0;0];
fun=@func;
gfun=@gfunc;
[x,val,k]=grad(fun,gfun,x0) %最速下降法(梯度法)
目标函数
function f=func(x)
f=100*(x(1)^2-x(2))^2+(1-x(1))^2;
end
梯度函数
function g=gfunc(x)
g=[400*x(1)*(x(1)^2-x(2))-x(2)+2*(x(1)-1);-200*(x(1)^2-x(2))];
end
运行结果

如有问题,可以私信于我。
用遗传算法ga()求Rosenbrock函数的结果,与用上述方法的结果相接近。

展开全部
梯度函数写错了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
签呦闲6158
2016-11-03 · 超过15用户采纳过TA的回答
知道答主
回答量:39
采纳率:0%
帮助的人:28.9万
展开全部
我没有,不好意思。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 2条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式