我想确保代码真正实现最陡的下降方法

时间:2015-03-24 17:26:13

标签: matlab nonlinear-optimization

我制作了最陡的下降代码,我想知道我是否在怀疑的方式?!!当我把x1 = 0和x2 = 0时,因为diff功能而无法工作!!

Max_iter=5;

n=0;

lamda=0;

syms x1

syms x2

x=[x1;x2];

fun=inline(x1-x2+2*x1^2+2*x1*x2+2*x2^2);

diff(fun(x1,x2),x1)

 gradf=[diff(fun(x1,x2),x1);diff(fun(x1,x2),x2)];

while   n<=Max_iter

    if(gradf~=0)

     gradf=[diff(fun(x1,x2),x1);diff(fun(x1,x2),x2)]; 

     y=x-lamda*gradf;

     x=y;
     n=n+1;

    end

end

n ; 

x;

0 个答案:

没有答案