基本遗传算法 matlab用最速下降法(梯度法)计算Rosenbrock函数,求程序代码?
浏览量:2883
时间:2021-03-13 21:05:36
作者:admin
matlab用最速下降法(梯度法)计算Rosenbrock函数,求程序代码?
Rosenbrock函数实现代码:CLC,clear allformat long gx0=[00]乐趣=@funcgfun=@gfunc[x,Val,k]=grad(fun,gfun,x0)%最速下降法(梯度法)目标函数f=func(x)f=100*(x(1)^2-x(2))^2(1-x(1))^2末级梯度函数g=gfunc(x)g=[400*x(1)*(x(1)^2-x(2))-x(2)2*(x(1) -200*(x(1)^2-x(2))]如果最终运行结果有任何问题,请向我发送私人消息。用GA()得到的Rosenbrock函数的结果与用上述方法得到的结果接近。
如何用Matlab求极值?
极值:
data
find(diff(sign(diff(data)))===-2)1
find(diff(sign(diff(data))==2)1
find(sign(diff(data))==2)1
find(sign(diff(data))==2)1
data(find(sign(diff(data))==2)1罗森布鲁克函数是数学中常用的函数优化,可以用来测试优化算法的性能。又称“罗森布鲁克谷”、“罗森布鲁克香蕉函数”、“香蕉函数”。其定义如下图所示:
匿名函数表示函数,MATLAB的匿名函数代码为:FF=@(x)(100*(x(2)-x(1)。^2)^2(1-x(1))^2。
用单纯形法求极值
检查目标函数
绘制Rosenbrock函数3D图,如下图所示是绘图代码:
下面是绘制的Rosenbrock函数3D图
版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。