Main Content

式、関数、および行列でのシンボリック変数の検索

式、関数または行列でシンボリック変数を検索するには、symvar を使用します。たとえば、シンボリック式 f および g のすべてのシンボリック変数を検出します。

syms a b n t x
f = x^n;
g = sin(a*t + b);
symvar(f)
ans =
[ n, x]

ここで、symvar は、返されたすべての変数をアルファベット順に並べ替えます。同様に、次のように入力することで、g の中のシンボリック変数を検出できます。

symvar(g)
ans =
[ a, b, t]

symvar は、シンボリック式、行列または関数で検出された最初のシンボリック変数 n を返すこともできます。symvar によって返すシンボリック変数の数を指定するには、symvar の 2 番目のパラメーターを使用します。たとえば、シンボリック式 g で検出される最初の 2 つの変数を返すには、以下のようにします。

symvar(g, 2)
ans =
[ b, t]

この場合、最初の 2 つの変数は、ab ではないことに注意してください。2 つの引数で symvar を呼び出した場合、シンボリック変数は x への近さによって検出された後、アルファベット順に並べ替えられます。

シンボリック関数に対し symvar を呼び出した場合、symvar は関数入力の後に他の変数を返します。

syms x y w z
f(w, z) = x*w + y*z;
symvar(f)
ans =
[ w, z, x, y]

シンボリック関数に対し 2 つの引数で呼び出される場合も、symvar はこの動作に従います。

symvar(f, 2)
ans =
[ w, z]

既定のシンボリック変数の検索

代入、微分、積分を実行する際に、独立変数を指定しない場合、MATLAB® では既定の変数が使用されます。通常、既定の変数はアルファベット順で最も x に近い変数になります。シンボリック関数の場合は、関数の最初の入力引数です。既定の変数として選択されている変数を確認するには、symvar(f, 1) コマンドを使用します。たとえば、以下のようにします。以下に例を示します。

syms s t
f = s + t;
symvar(f, 1)
ans =
t
syms sx tx
f = sx + tx;
symvar(f, 1)
ans =
tx

既定のシンボリック変数の選択の詳細は、symvar を参照してください。