Main Content

求解 (シンボリック式)

ライブ エディターでシンボリック方程式の解析解を求める

R2020a 以降

説明

求解 (シンボリック式) タスクを使用すると、対話形式でシンボリック方程式の解析解を求めることができます。タスクはライブ スクリプトで使用できる MATLAB® コードを自動生成します。ライブ エディター タスク の詳細については、ライブ スクリプトへの対話型タスクの追加を参照してください。

このタスクを使用して、次のことができます。

  • 単一の方程式や代数方程式系などを含むシンボリック方程式の解析解を求める。

  • ソルバー オプションを指定して解を求める。

  • 方程式の求解に使用するコードを生成する。

Solve Symbolic Equation task in Live Editor

タスクを開く

MATLAB エディターのライブ スクリプトに求解 (シンボリック式) タスクを追加するには、次のようにします。

  • [ライブ エディター] タブで [タスク][求解 (シンボリック式)] を選択する。

  • スクリプトのコード ブロックで、solvesymbolic、または equation などの関連キーワードを入力する。推薦されたコマンド補完から [求解 (シンボリック式)] を選択する。

パラメーター

すべて展開する

方程式の部分式がすべて実数を表す解を返すには、このチェック ボックスをオンにします。このオプションでは方程式のすべてのパラメーターが実数を表すと仮定されます。

単一の解 (主値) を返すには、このチェック ボックスをオンにします。方程式または方程式系に解がない場合は、ソルバーによって空のシンボリック オブジェクトが返されます。

より一般的な解とその解が保持する解析制約を返すには、このチェック ボックスをオンにします。このオプションは parameters フィールド、および解のパラメーターとその成立条件を含む conditions フィールドそれぞれをもつ構造体を返します。

関数 root を解の平方根で表現するには、このチェック ボックスをオンにします。浮動小数点近似が長時間を要したり、精度が低下したりする場合があります。

ab が正の実数であると仮定して、log(a) + log(b) = log(a*b) などの、純粋に代数的な単純化を適用するには、このチェック ボックスをオンにします。Ignore analytic constraintson に設定することで解を単純化できますが、一般的に有効でない結果となる場合があります。つまり、このオプションは数学的恒等を適用します。ほとんどのエンジニアリング ワークフローでこれは便利ですが、変数のすべての値について成り立つわけではありません。場合によっては、他の方法では解けない方程式や方程式系の解を求解 (シンボリック式) タスクで求められるようにもなります。詳細は、アルゴリズムを参照してください。

求解する変数についての前提を無視するには、このチェック ボックスをオンにします。このオプションにより、求解する変数についての前提と整合しない解が含まれることがあります。

アルゴリズム

Ignore analytic constraints を使用する際は、ソルバーによって以下のルールのいくつかが方程式の両辺に適用されます。

  • 任意の a および b について、log(a) + log(b) = log(a·b) が成り立つ。特に、a、b、c のすべての値に対して、次の等式が有効である。

    (a·b)c = ac·bc.

  • 任意の a および b について、log(ab) = b·log(a) が成り立つ。特に、a、b、c のすべての値に対して、次の等式が有効である。

    (ab)c = ab·c.

  • f および g が標準的な数学関数、かつ任意の微小な正数について f(g(x)) = x である場合、すべての複素数値 x に対して f(g(x)) = x が有効であるものとする。以下に例を示します。

    • log(ex) = x

    • asin(sin(x)) = x, acos(cos(x)) = x, atan(tan(x)) = x

    • asinh(sinh(x)) = x, acosh(cosh(x)) = x, atanh(tanh(x)) = x

    • ランベルトの W 関数のすべての分岐指標 k に対して、Wk(x·ex) = x

  • ソルバーは、0 を除く任意の式で方程式の両辺を乗算できる。

  • 多項方程式の解は完全でなければならない。

バージョン履歴

R2020a で導入

参考

関数

ライブ エディター タスク