主要内容

このページの翻訳は最新ではありません。ここをクリックして,英語の最新版を参照してください。

シンボリック変数の仮定の使用

既定の仮定

符号数学工具箱™の既定の設定では,シンボリック変数は複素変数です。たとえば,zを次のようにシンボリック変数として宣言する場合を考えます。

信谊z

この場合,MATLAB®zが複素変数であると仮定します。シンボリック変数が複素数または実数のいずれとして仮定されているかを確認するには,假设を随時使用できます。z複素変数である場合,假设(z)は次のように空のシンボリックオブジェクトを返します。

假设(z)
ans =空sym: 1乘0

仮定の設定

シンボリック変数の仮定を設定するには,関数假设を使用します。たとえば,変数xは非負であると仮定します。

Syms x假设(x >= 0)

假设は変数に対するすべての以前の仮定を新しい仮定で置き換えます。新しい仮定を既存の仮定に追加する場合は,assumeAlsoを使用します。たとえば,xは同時に整数であるという仮定を追加します。ここで,変数xは非負の整数です。

assumeAlso (x,“整数”)

假设assumeAlsoを使用すると,変数または式が次のセットのいずれに属しているかを記述できます。整数,正の数値,有理数,実数。

信谊または信谊を使用してシンボリック変数を宣言する際に,仮定を設定することもできます。たとえば,実数のシンボリック変数一个およびbならびに正のシンボリック変数cを作成します。

A = sym(' A ', 'real');B = sym(' B ', 'real');C = sym(' C ', 'positive');

より効率的にはこうです。

a b实数c正

信谊または信谊コマンドを使用してシンボリックオブジェクトに代入可能な仮定には,実数,有理数,整数および正の数があります。

既存の仮定の確認

シンボリック変数に設定されているすべての仮定を確認するには,変数名を入力引数に指定して,関数假设を使用します。たとえば,次のコマンドは変数xで現在使用されている仮定を返します。

假设(x)

MATLABワークスペースのすべてのシンボリック変数で使用されている仮定をすべて確認するには,入力引数を指定せずに,假设を使用します。

假设

詳細については,変数に設定された仮定の確認を参照してください。

シンボリックオブジェクトおよびその仮定の削除

シンボリックオブジェクトとその仮定は別々に保存されます。xが実数であるという仮定を設定する場合を考えます。

信谊x假设(x,“真实的”)

これを使用すると,実際にはシンボリックオブジェクトxと,それが実数であるという仮定が作成されます。オブジェクトはMATLABワークスペースに保存され,仮定はシンボリックエンジンに保存されます。MATLABワークスペースから,

清晰的x

を使用して,シンボリックオブジェクトを消去しても,xが実数であるという仮定は,シンボリックエンジン中に残ります。信谊を使用してシンボリック変数xをあらためて宣言すると,xは既定の仮定でなく実数であるという仮定を継承します。後で方程式を解き,シンボリック変数xについて式を単純化する場合,不完全な結果が得られることがあります。

メモ

信谊を使用して変数を宣言する場合,既存の仮定が消去されます。信谊を使用して変数を宣言する場合,既存の仮定は消去されません。

たとえば,xが実数であるという仮定により,多項式x2+ 1が根を持たなくなります。

Syms x = sym('x');解(x^2 + 1 = 0, x)
ans =空sym: 0乘1

シンボリックエンジンにはxが実数であるという仮定が保存されており,この仮定がシンボリック変数xに継承されているため,この多項式の複素根は存在しなくなります。仮定を消去するには,次のように入力します。

信谊x

仮定を消去した後も,シンボリックオブジェクトはMATLABワークスペースに残ります。シンボリックオブジェクトと仮定をいずれも削除する場合は,下記の2つのコマンドを使います。

  1. 仮定を消去するには,次のように入力します。

    信谊x
  2. シンボリックオブジェクトを削除するには,次のように入力します。

    清晰的x

シンボリックオブジェクトの消去の詳細は,仮定の消去とシンボリックエンジンのリセットを参照してください。

関連するトピック