ドキュメンテーション

最新のリリースでは、このページがまだ翻訳されていません。 このページの最新版は英語でご覧になれます。

jacobian

構文

jacobian(f,v)

説明

jacobian(f,v) は、fヤコビ行列v に対して計算します。結果の (i,j) 要素は f(i)v(j) です。

ベクトル関数のヤコビアン

ベクトル関数のヤコビアンは、その関数の偏導関数の行列です。

ヤコビ行列 [x*y*z, y^2, x + z][x, y, z] について計算します。

syms x y z
jacobian([x*y*z, y^2, x + z], [x, y, z])
ans =
[ y*z, x*z, x*y]
[   0, 2*y,   0]
[   1,   0,   1]

次に、ヤコビアン [x*y*z, y^2, x + z][x; y; z] について計算します。

jacobian([x*y*z, y^2, x + z], [x; y; z])
ans =
 
[ y*z, x*z, x*y]
[   0, 2*y,   0]
[   1,   0,   1]

ヤコビ行列は 2 番目の位置に入力するベクトルの方向に対して不変です。

スカラー関数のヤコビアン

スカラー関数のヤコビアンは、その勾配の転置です。

2*x + 3*y + 4*z のヤコビアンを [x, y, z] について計算します。

syms x y z
jacobian(2*x + 3*y + 4*z, [x, y, z])
ans =
[ 2, 3, 4]

次に、同じ式の勾配を計算します。

gradient(2*x + 3*y + 4*z, [x, y, z])
ans =
 2
 3
 4

スカラーに関するヤコビアン

スカラーについての関数のヤコビアンは、その関数の 1 次導関数です。ベクトル関数では、スカラーについてのヤコビアンは 1 次導関数のベクトルです。

[x^2*y, x*sin(y)] のヤコビアンを x について計算します。

syms x y
jacobian([x^2*y, x*sin(y)], x)
ans =
  2*x*y
 sin(y)

次に、導関数を計算します。

diff([x^2*y, x*sin(y)], x)
ans =
[ 2*x*y, sin(y)]

入力引数

すべて折りたたむ

スカラーまたはベクトル関数。シンボリック式、シンボリック関数またはベクトルとして指定します。f がスカラーの場合、f のヤコビ行列は f の転置された勾配になります。

ヤコビアンを計算する変数のベクトル。シンボリック変数あるいはシンボリック変数のベクトルで指定します。v がスカラーの場合、結果は diff(f,v) の転置と等しくなります。vsym([]) のような空のシンボリック オブジェクトの場合、jacobian は、空のシンボリック オブジェクトを返します。

詳細

すべて折りたたむ

ヤコビ行列

ベクトル関数のヤコビ行列 f = (f1(x1,...,xn),...,fn(x1,...,xn)) は、f の導関数の行列です。

J(x1,xn)=[f1x1f1xnfnx1fnxn]

R2006a より前に導入