Main Content

symvar

シンボリック入力内のシンボリック変数を求める

説明

symvar(s) は、s 内のすべてのシンボリック変数から成るベクトルを返します。変数はアルファベット順で、大文字は小文字の前に置きます。

symvar(s,n)s 内の x にアルファベット順で最も近い n シンボリック変数を選択し、それらをアルファベット順に返します。s がシンボリック関数の場合、symvar(s,n)s の他の変数より前に、s の入力引数を返します。

すべて折りたたむ

式内のすべてのシンボリック変数を求めます。symvar は、変数をアルファベット順に返します。

syms wa wb yx ya
sum = wa + wb + ya + yx;
symvar(sum)
ans =
[ wa, wb, ya, yx]

式内の最初の 3 つのシンボリック変数を求めます。symvar は、x にアルファベット順で最も近い変数を選択し、それらをアルファベット順に返します。

syms a x y b
f = a*x^2/(sin(3*y-b));
symvar(f,3)
ans =
[ b, x, y]

次の関数のすべてのシンボリック変数を検出します。シンボリック関数に対し、symvar は関数入力の後に他の変数を返します。

syms x y a b
f(x,y) = a*x^2/(sin(3*y-b));
symvar(f)
ans =
[ x, y, a, b]
g(x,y) = 1;
symvar(g)
ans =
[ x, y]

f の最初の 3 つのシンボリック変数を検出します。

symvar(f,3)
ans =
[ x, y, b]

solve などのシンボリック関数が既定の独立変数をシンボリックに求める必要がある場合、関数は symvar を使用します。シンボリック式の既定の独立変数を求めます。

syms v z
g = v + z;
symvar(g,1)
ans =
z
syms aaa aab
g = aaa + aab;
symvar(g,1)
ans =
aaa
syms X1 x2 xa xb
g = X1 + x2 + xa + xb;
symvar(g,1)
ans =
x2

MATLAB® で微分、積分、代入を行ったり、方程式の解を求めたりする際には、symvar(s,1) によって返される変数が既定の変数として使用されます。シンボリック式または行列の場合、symvar(s,1)x に最も近い変数を返します。関数の場合、symvar(s,1)s の最初の入力引数を返します。

入力引数

すべて折りたたむ

入力。数値、ベクトル、行列、または配列、あるいはシンボリック数、変数、配列、関数、または式で指定されます。

変数の数。整数または Inf として指定します。ns 内の変数の数を上回る場合は、symvars 内の変数の数を返します。

ヒント

  • symvar は、定数 pii および j については、変数として処理します。

  • s の中にシンボリック変数が検出されない場合、symvar は空ベクトルを返します。

アルゴリズム

symvar がシンボリック変数をアルファベット順に並べ替えるとき、すべての大文字は小文字より優先されます。0 1 ...9 A B ...Z a b ... z となります。

バージョン履歴

R2008b で導入