展开全部
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函数的结果,与用上述方法的结果相接近。
引用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函数的结果,与用上述方法的结果相接近。
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函数的结果,与用上述方法的结果相接近。
展开全部
梯度函数写错了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
我没有,不好意思。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询