Maltab计算hessian矩阵 hessian function简单例子

Hessian矩阵其实就是一个多元函数的所有二次偏导数构成的雅克比矩阵,matlab中求解的方法是对雅克比矩阵再求雅克比矩阵。
例如
syms x y z
f=x^2+y^2+z^2+x*y*z;
J=jacobian(f,[x;y;z]);
H=jacobian(J,[x;y;z]);
结果为
J =
[ 2*x + y*z, 2*y + x*z, 2*z + x*y]
H =
[ 2, z, y]
[ z, 2, x]
[ y, x, 2]

手写推导:

Maltab计算hessian矩阵 hessian function简单例子

matlab如下,

syms x y z;
f = x^2+y^2 + z^2+ y*z*x;
hessian(f,[x,y,z])
%等同于
J=jacobian(f,[x;y;z]);
H=jacobian(J,[x;y;z])
%Hessian矩阵其实就是一个多元函数的所有二次偏导数构成的雅克比矩阵,
%matlab中求解的方法是对雅克比矩阵再求雅克比矩阵。

Maltab计算hessian矩阵 hessian function简单例子