Main Content

hessian

スカラー関数のヘッセ行列

構文

説明

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

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 ) = [ 2 f x 1 2 2 f x 1 x 2 2 f x 1 x n 2 f x 2 x 1 2 f x 2 2 2 f x 2 x n 2 f x n x 1 2 f x n x 2 2 f x n 2 ]

バージョン履歴

R2011b で導入