0

念のため、代数方程式を単純化し、因数分解し、展開できるアプリケーションを作成しようとしています。ルールをプログラミングすることは、方程式を適切に実行可能な形式に変換できれば、簡単に実行できるように思えます。方程式の解析は面倒であることがわかっています。現在 Python で作業していますが、何か新しいことを学ばなければならないことに反対しているわけではありません。

このプロジェクトを非常にシンプルにする (任意の言語用の) ライブラリはありますか?それとも夢物語ですか?

[Haskell でタグ付けするのは、そこが「シンプル」だと感じているからです]

4

4 に答える 4

6

はい、Haskell には、パーサーをかなり簡単に作成するための多くのライブラリがあります。Parsecは良いスタートであり、Pythonを含む他の言語のクローンもあります (この記事は、動作する可能性のあるpyparsingにもリンクしています)。

私のこの答えは一例です(おそらく一流のParsecやHaskellではないことに注意してください):これはHaskellの解析ライブラリの力を示しており、正確に4行のコードでパーサー全体を実装しています。

古い質問と回答を参照して、さまざまなライブラリやテクニック ( parsing+haskellparsing+pythonなど) の感触をつかむこともできます。

大規模なプロジェクトに対する攻撃の方向性を決める最善の方法は、小さく始めて、ツールに慣れるまで試してみることです。ライブラリを選択し、数字だけで式を解析するなど、比較的単純なパーサーを実装してみてください。 、+および*、または単に数値を解析+して括弧を付けて...小さなもの(ただし、小さすぎない;これらの2つの例にはそれぞれ非自明性があり、最初の例には演算子の優先順位があり、2番目の例には再帰的なネストがあります)。ライブラリがあまり気に入らない場合は、別のライブラリを試してください。

于 2012-05-05T11:04:45.183 に答える
4

ほぼすべての言語で行われています。

Python には、すぐに使用できる代数方程式と記号数学を解析するためのライブラリがあります。

http://code.google.com/p/sympy/

そのようなことを書く方法を学ぶことが目的でない限り、再利用することをお勧めします。

于 2012-05-05T13:10:36.117 に答える
0

Python または matlab が私の提案です。方程式全体を文字列に格納し、それを分割して、因数分解して単純化することを計画していますか?

クールなプロジェクトのような、もう少し情報を提供してください。

于 2012-05-05T11:04:53.790 に答える