式、関数、および行列でのシンボリック変数の検索
式、関数または行列でシンボリック変数を検索するには、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 つの変数は、a と b ではないことに注意してください。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 を参照してください。