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