怎样用matlab计算hassen矩阵,程序怎么写

2024-12-15 20:35:00
推荐回答(1个)
回答1:

在数学中,海森矩阵(Hessian matrix 或 Hessian)是一个自变量为向量的实值函数的二阶偏导数组成的方块矩阵

举个简单的例子
clear;
clc;
syms x y
f = [2*x^2+4*x*y 8*x*y;8*x*y 3*y*y]
f1 = diff(f(1,1),x);
f1 = diff(f1,x);
f2 = diff(f(1,2),x);
f2 = diff(f2,y);
f3 = diff(f(2,1),y);
f3 = diff(f3,x);
f4 = diff(f(2,2),y);
f4 = diff(f4,y);
Hf = [f1 f2;f3 f4]

结果:
f = %%%%% 原来的矩阵

[ 2*x^2+4*x*y, 8*x*y]
[ 8*x*y, 3*y^2]

Hf = %%%%% 矩阵的Hessian
[ 4, 8]
[ 8, 6]