Main Content

シンボリック数、シンボリック変数およびシンボリック式の作成

このページでは、シンボリック数、シンボリック変数およびシンボリック式を作成する方法を説明します。シンボリック数学による処理の詳細は、シンボリック計算の実行を参照してください。

シンボリック数の作成

シンボリック数はsymを使用して作成できます。シンボリック数は正確な表現であり、浮動小数点数とは異なります。

symを使用してシンボリック数を作成し、浮動小数点による同じ数と比較します。

sym(1/3) 1/3
ans = 1/3 ans = 0.3333

シンボリック数は、正確な有理型で表現されます。一方、浮動小数点数は小数近似です。シンボリックな結果はインデントされませんが、標準の MATLAB®の結果はインデントされます。

シンボリック数の計算は正確です。この正確性について、sin(pi)をシンボリック的および数値的に求めることで示します。シンボリックな結果は正確ですが、数値の結果は近似です。

sin(sym(pi)) sin(pi)
ans = 0 ans = 1.2246e-16

数値のシンボリック表現の詳細は、数値のシンボリックへの変換を参照してください。

シンボリック変数の作成

シンボリック変数の作成には、symsまたはsymのいずれかを使用できます。これらの関数の標準的な使用法を以下に示します。

  • sym- 番号付きシンボリック変数を作成したり、MATLAB 関数のシンボリック変数を作成したりします。

  • syms– 対話型のシンボリック ワークフロー、つまり MATLAB コマンド ラインまたは MATLAB ライブ スクリプトでのシンボリック変数作成に対して、"新しい" シンボリック変数を作成します。"新しい"シンボリック変数には仮定がありません。

symsコマンドはsym構文の省略表現ですが、2 つの関数による仮定の処理は異なります。詳細は、シンボリック オブジェクト名の再利用を参照してください。

symssymをそれぞれ使用して、シンボリック変数xyを作成します。

syms x y = sym('y')

最初のコマンドは、MATLAB ワークスペースでシンボリック変数xを作成します。この変数xには値xが代入されます。2 番目のコマンドは、値yを持つシンボリック変数yを作成します。

symsでは、1 つのコマンドで複数の変数を作成できます。変数abおよびcを作成します。

syms a b c

番号付きシンボリック変数から成る MATLAB 配列を作成する場合、syms構文は不便です。したがって、多数の番号付きシンボリック変数の配列を作成するには、代わりにsymを使用します。

ワークスペースをクリアします。シンボリック変数a1, ..., a20を含む行ベクトルを作成し、MATLAB 変数Aに割り当てます。MATLAB ワークスペースの変数を表示します。

clearall一个=ym('a', [1 20]) whos
A = [ a1, a2, a3, a4, a5, a6, a7, a8, a9, a10,... a11, a12, a13, a14, a15, a16, a17, a18, a19, a20] Name Size Bytes Class Attributes A 1x20 8 sym

Aは 20 個のシンボリック変数から成る120列の配列です。

symsymsを組み合わせることにより、多くの新しいシンボリック変数を対応する変数名で MATLAB ワークスペースに作成できます。

ワークスペースをクリアします。新しいシンボリック変数a1, ..., a10を作成し、それらの変数に MATLAB 変数名a1, ..., a10をそれぞれ割り当てます。MATLAB ワークスペースの変数を表示します。

clearallsyms(sym('a', [1 10])) whos
Name Size Bytes Class Attributes a1 1x1 8 sym a10 1x1 8 sym a2 1x1 8 sym a3 1x1 8 sym a4 1x1 8 sym a5 1x1 8 sym a6 1x1 8 sym a7 1x1 8 sym a8 1x1 8 sym a9 1x1 8 sym

MATLAB ワークスペースには、シンボリック変数である 10 個の MATLAB 変数が含まれます。

symsコマンドはsym構文の手頃な省略表現です。一般的な使用法は、対話型のシンボリック ワークフローに対して新しいシンボリック変数を作成することです。sym構文を使用して次を作成します。

  • MATLAB 関数のシンボリック変数

  • 多数の番号付きシンボリック変数

  • 値が MATLAB ワークスペース内の名前と異なっているシンボリック変数

  • シンボリック数 (sym(5)など)

  • 以前に使用した同名のシンボリック変数から仮定を継承しているシンボリック変数

シンボリック式の作成

黄金比を表すためにシンボリック変数を使ってみましょう。

φ = 1 + 5 2

次のコマンド

phi = (1 + sqrt(sym(5)))/2;

により、シンボリック変数が作成されます。これで、phiについてのさまざまな数学演算が実行できます。たとえば、以下のようになります。

f = phi^2 - phi - 1

は以下を返します。

f = (5^(1/2)/2 + 1/2)^2 - 5^(1/2)/2 - 3/2

今度は、2 次関数f=ax2+bx+cを調べます。まず、シンボリック変数abc、およびxを作成します。

syms a b c x

次に、式をfに代入します。

f = a*x^2 + b*x + c;

ヒント

シンボリック数を作成するには、symコマンドを使用します。定数のシンボリック表現の作成にsyms関数は使用しないでください。たとえば、値が5の式を作成するには、f = sym(5)を入力します。コマンドf = 5では、fはシンボリック式として定義され”ません。”

シンボリック オブジェクト名の再利用

変数をシンボリック式と等価に設定し、symsコマンドを変数に適用すると、MATLAB ソフトウェアは前に定義した式を変数から除去します。たとえば、以下のようになります。

syms a b f = a + b

は以下を返します。

f = a + b

この後で,次のように入力するとします。

syms f f

すると、MATLAB は式fから値a + bを消去します。

f = f

変数から、MATLAB セッションで以前に割り当てていた定義を消去するにはsymsコマンドを使用できます。symsは複素数、実数、整数および正数という変数の仮定を消去します。これらの仮定はシンボリック オブジェクトとは別に保存されます。しかし、symを使用した変数の再作成ではその仮定は消去されません。詳細は、シンボリック オブジェクトおよびその仮定の削除を参照してください。

関連するトピック