Main Content

単純化 (シンボリック式)

ライブ エディターでのシンボリック式の単純化

R2020a 以降

説明

単純化 (シンボリック式) タスクを使用すると、対話形式でシンボリック式を単純化したり再配置したりできます。タスクはライブ スクリプトで使用できる MATLAB® コードを自動生成します。ライブ エディター タスク の詳細については、ライブ スクリプトへの対話型タスクの追加を参照してください。

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

  • シンボリック式の代数的な単純化。

  • 別の関数による式の書き換え。

  • 代数式の展開。

  • 同じ代数的構造の項の結合。

  • 式の単純化または再配置を行うコードの生成。

関連する関数

単純化 (シンボリック式) によって式を単純化するために生成されるコードは次の関数を使用します。

Simplify Symbolic Expression task in Live Editor

タスクを開く

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

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

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

パラメーター

すべて展開する

次のドロップダウン リストから単純化方法を指定します。

単純化方法説明
Simplify代数的な単純化を行います。
Simplify fractionシンボリック有理式を単純化します。
Rewrite別の関数で式を書き換えます。
Expand式を展開し、恒等式を使用して関数の入力を単純化します。
Combine同じ代数的構造の項を結合します。

次のドロップダウン リストから単純化方法 Simplify で使用する計算エフォートを指定します。

単純化エフォート説明
最小最小の計算量、最速の計算時間 (最も複雑な結果が返される)
少ない計算量、より速い計算時間
中程度の計算量、通常の計算時間
高い計算量、より遅い計算時間
最大最大の計算量、最も遅い計算時間 (最も単純な結果が返される)

単純化方法 Expand で特殊関数を展開しないようにするには、このチェック ボックスをオンにします。このオプションは、三角関数、双曲線関数、対数関数および特殊関数を展開せずに、べき乗や根などの式の算術演算部分を展開します。

ab が正の実数であると仮定して、log(a) + log(b) = log(a*b) などの、純粋に代数的な単純化を単純化方法 Expand に適用するには、このチェック ボックスをオンにします。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

バージョン履歴

R2020a で導入