0

式を評価してグラフ化する、完全に機能する計算機を作成しました。また、式 wrt x を正しく微分するシンボリック微分器も作成しましたが、プログラムで一般的な方程式を単純化する方法について少し迷っています。a*1 は簡単に簡略化できることはわかっていますが、あらゆる状況をカバーするには、オールラウンドな簡略化が必要です。

4

1 に答える 1

1

簡素化は正規化の一形態と考えています。おそらく最初に実装したいのは、多項式の単純化です。

  • 変数をまったく含まない部分式を計算します
  • xが唯一の有効な変数でない限り、変数の順序を定義します。
  • 変数に従って単項式の項を並べ替える
  • この変数の順序に基づいて、変数とその次数を考慮した単項式の順序を定義します
  • 単項式による多項式の項の順序付け
  • 重複する単項式を特定し、それらの係数を結合します
  • ゼロになる単項式をすべて削除する

関数を含む式も単純化したい場合は、任意の複雑になる可能性があります。一般に、用語の単純さを測定する何らかの方法を定義しようとします。つまり、2 つの用語が与えられたときに、どちらが単純かを判断します。次に、ルールを考えて、それらが条件を単純にするだけであることを保証できるかどうかを確認できます。また、終了 (つまり、無限のステップ数に対して項がこれまで以上に単純になる方法はない) と合流 (つまり、単純化の可能性が 2 つある場合、次にどちらを行うかは問題ではない) をチェックすることもできます。最終結果は同じになります)。

用語の書き換えシステムの書き換え、および関連トピックに関する文献を読みたいと思うかもしれません。

于 2012-10-08T12:39:33.353 に答える