gusucode.com > ​学会不同搜索法(最速下降法,共轭梯度法,牛顿法,拟牛顿法)的计算步骤 > code/tidu.m

    %梯度子函数,tidu.m,输入的变量为四维的向量,返回梯度在x处的数值向量
function g=tidu(x)
 %待求解的函数
 f='(x1+10*x2)^2+5*(x3-x4)^2+(x2-2*x3)^4+10*(x1-x4)^4';
 %求函数的梯度表达式
 g=[diff(f,'x1') diff(f,'x2') diff(f,'x3') diff(f,'x4')];
 x1=x(1);
 x2=x(2);
 x3=x(3);
 x4=x(4);
 g=eval(g);