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を参照してください。