Main Content

hessian

シンボリック スカラー関数のヘッセ行列

説明

hessian(f,v) は、直交座標のベクトル v について、シンボリック スカラー関数 fヘッセ行列を求めます。

v を指定しない場合、hessian(f) では、スカラー関数 f のヘッセ行列を、f に含まれるすべてのシンボリック変数で構成されるベクトルに対して求めます。このベクトルに含まれる変数の順序は、symvar によって定義されます。

スカラー関数のヘッセ行列を求める

hessian を使用して関数のヘッセ行列を求めます。次に、同じ関数のヘッセ行列を関数の勾配のヤコビアンとして求めます。

3 つの変数の関数のヘッセ行列を求めます。

syms x y z
f = x*y + 2*z*x;
hessian(f,[x,y,z])
ans =
[ 0, 1, 2]
[ 1, 0, 0]
[ 2, 0, 0]

あるいは、この関数のヘッセ行列を、同じ関数の勾配のヤコビアンとして計算します。

jacobian(gradient(f))
ans =
[ 0, 1, 2]
[ 1, 0, 0]
[ 2, 0, 0]

入力引数

すべて折りたたむ

スカラー関数。シンボリック式またはシンボリック関数として指定します。

ヘッセ行列を求める対象のベクトル。シンボリック ベクトルとして指定します。既定では、vf 内のすべてのシンボリック変数により構成されるベクトルです。このベクトルに含まれる変数の順序は、symvar によって定義されます。

vsym([]) のような空のシンボリック オブジェクトの場合、hessian は、空のシンボリック オブジェクトを返します。

詳細

すべて折りたたむ

ヘッセ行列

f(x) のヘッセ行列は、f(x) の 2 次偏導関数の正方行列です。

H(f)=[2fx122fx1x22fx1xn2fx2x12fx222fx2xn2fxnx12fxnx22fxn2]

バージョン履歴

R2011b で導入