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

    %hesse矩阵子函数,hesse.m,输入变量为四维向量,输出变量为hesse矩阵在x的数值形式
function h=hesse(x)
%用符号表达形式来表示待求得函数
syms x1 x2 x3 x4
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')];
%函数f的hesse矩阵的符号表达形式
h=jacobian(g,[x1 x2 x3 x4]);
x1=x(1);x2=x(2);x3=x(3);x4=x(4);
h=eval(h);