XhCode 開発者ツールセット
  

単項関数自動解オンライン計算ツール

ニュートンの方法は、解決の中心的な方法です。 ウィキペディアの定義は次のとおりです。ニュートン法は、実数および複素数のフィールドで方程式を近似する方法です。 この方法は、関数 f (x) のテイラー級数の最初のいくつかの項を使用して、方程式 f (x) = 0 の根を見つけます。つまり、ニュートンの方法は、x が小さな範囲に収束するまで x を反復することです< /p>

したがって、任意の単項関数について、ニュートン法を使用してその近似解を見つけることができます。 エラーが 10 ^ -9 未満の場合、または反復ステップ数が 10 ^ 5 を超えた場合、反復は終了します。

ソルバーを構築するとき、解決する必要がある重要な問題がいくつかあります。入力式の解析、関数の表現、関数方程式の導出、関数の代入と評価です。 その中で、最優先事項は次のとおりです: 関数をどのように格納 (表現) するか?

このバイナリ式ツリーを選択する理由 主な理由は、ノードの再帰処理に便利なツリー構造であるためです。後で、再帰的なアイデアを使用して、置換と評価のアイデアを含む関数を導出します。

式の前処理: まず、入力式文字列を前処理する必要があります。 ここで標準化する必要がある数学のいくつかの単純または冗長な記述があるため. 自然な入力文字列が前処理されると、人間が自然に理解できる表現形式である中置式の文字列になります。 ただし、式を二分式ツリーとして保存するには、中置式を後置式に変換する必要もあります

スケジューリング フィールド アルゴリズム: 次数フィールド アルゴリズムは、スタック再帰ハノイでスタックを使用して式を計算する方法と基本的に似ています。 キューを使用して出力サフィックス式を表現し、スタックを使用して演算子と関数を格納します

二項式ツリーの構築: 入力式が (a + b) * (c * (d + e)) であるとします。 スケジューリング フィールド アルゴリズムの後、a b + c d e + * * のサフィックス式を取得します。 この時点で、サフィックス式の特性を使用して、バイナリ式ツリーをすばやく構築できます。

評価: 二分式ツリーを代入および評価するためのアルゴリズムは、簡単に考えられるはずです。 二分木の再帰的な性質を利用して、ルートは演算子または関数であり、左部分木と右部分木は再帰的に定義されます。 左サブツリーと右サブツリーの値を再帰的に計算し、演算子演算を実行するだけです。

微分関数ツリーの構築: 微分関数を解くためのステップのみが残されています。 微分関数のルールが非常に多いため、このステップも比較的複雑な操作です。 第 1 に、式導出関数は、バイナリ式ツリーで表す必要があります。これは、直接評価して代入することができ、バイナリ式ツリーには再帰的なプロパティがあるためです。 第二に、バイナリ表現ツリーのルートノードは常に関数の特性であり、左と右のサブツリーも式であり、再帰的なアイデアを使用して微分関数を解くことができます