Maltab计算hessian矩阵 hessian function简单例子
Hessian矩阵其实就是一个多元函数的所有二次偏导数构成的雅克比矩阵,matlab中求解的方法是对雅克比矩阵再求雅克比矩阵。例如syms x y zf=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, ...
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]
手写推导:
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中求解的方法是对雅克比矩阵再求雅克比矩阵。

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。
更多推荐
所有评论(0)