このページの翻訳は最新ではありません。ここをクリックして,英語の最新版を参照してください。
符号数学工具箱™の既定の設定では,シンボリック変数は複素変数です。たとえば,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
が実数であるという仮定により,多項式x
2+ 1が根を持たなくなります。
Syms x = sym('x');解(x^2 + 1 = 0, x)
ans =空sym: 0乘1
シンボリックエンジンにはx
が実数であるという仮定が保存されており,この仮定がシンボリック変数x
に継承されているため,この多項式の複素根は存在しなくなります。仮定を消去するには,次のように入力します。
信谊x
仮定を消去した後も,シンボリックオブジェクトはMATLABワークスペースに残ります。シンボリックオブジェクトと仮定をいずれも削除する場合は,下記の2つのコマンドを使います。
仮定を消去するには,次のように入力します。
信谊x
シンボリックオブジェクトを削除するには,次のように入力します。
清晰的x
シンボリックオブジェクトの消去の詳細は,仮定の消去とシンボリックエンジンのリセットを参照してください。