ドキュメンテーション

最新のリリースでは、このページがまだ翻訳されていません。 このページの最新版は英語でご覧になれます。

symvar

シンボリック式、行列または関数からのシンボリック変数の検出

構文


symvar(s)
symvar(s,n)

説明

symvar(s) は、アルファベット順 (大文字は小文字の前) で、s のすべてのシンボリック変数を含むベクトルを返します。

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

入力引数

s

シンボリックな式、行列または関数。

n

整数。

和のすべてのシンボリック変数を検出します。

syms wa wb wx yx ya yb
symvar(wa + wb + wx + ya + yb + yx)
ans =
[ wa, wb, wx, ya, yb, yx]

次の関数のすべてのシンボリック変数を検出します。

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

ここで、f の最初の 3 つのシンボリック変数を検出します。シンボリック関数の場合、symvar は 2 つの引数を使用して、他の変数の前に関数入力を返します。

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

シンボリック式または行列の場合、2 つの引数を使用して symvar を呼び出すと、x への近さの順に並べ替えられた変数を返します。

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

次の式の既定のシンボリック変数を検出します。

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

詳細

すべて展開する

ヒント

  • symvar(s) は、symvar(s,n) とは異なる順序で変数を出力する場合があります。

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

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

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

アルゴリズム

x に対する近さに基づいてシンボリック変数を並べ替えるときに、symvar は次のアルゴリズムを使用します。

  1. 変数名の第 1 文字が、並べ替えの基準となります。並べ替え順は、x y w z v u ... a X Y W Z V U ...A です。数字で始まるシンボリック変数名は使用できません。

  2. 後続するすべての文字については、並べ替え順はアルファベット順となり、0 1 ... 9 A B ...Z a b ...z のように、すべての大文字は小文字より前に並べられます。

参考

| |

この情報は役に立ちましたか?