Rosenbrock函数
实穗锋纤现代码:
clc,clear all
format long g
x0=[00]
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函数的结猜仿果,与基埋用上述方法的结果相接近。
最速下降法,就是求梯度. 例如:求f=(x-y)/(x^2+y^2+2)在(-3,-2)处的塌斗和梯度. clcclear x=-3y=-2 f='(x-y)/(x^2+y^2+2)' fx=diff(f,'x'团盯)%对x求偏导数 fy=diff(f,'y')%对y求偏导数 g=[fx fy]%梯度 g=subs(g)%把符号变量转为数销码值欢迎分享,转载请注明来源:内存溢出
评论列表(0条)