2

私は問題があります。私のアプリケーションf(x)xは、たとえばsin(x) + x*x - 5.

私が欲しいのは、C# がこの関数を として認識Math.Sin(x) + x*x - 5すること、つまり、それxが変数であることを知ることです。

x には約 2000 個のデータがあります。たとえばxi、 whereです。i = 2000必要なのはf(xi)、すべてのデータの値だけですx。 wherefはテキスト ボックスの関数です。

4

2 に答える 2

2

探しているのは、式パーサーです。つまり、テキストボックス内の式文字列を実行可能なもの(通常は構文ツリー)に変換するコードです。

「数式パーサーc#」をグーグルで検索すると、このような製品からこのような簡単な例まで、さまざまなもの見つかり ます。

于 2012-04-11T15:05:58.257 に答える
0

あなたまたはあなたのユーザーが事前に変数名を定義することは可能ですか?

たとえば、変数名として「y」、「x」、または「n」を使用できることをユーザーに知らせますが、それ以外は使用できません。または、数式を解析する前に、プログラム内で変数を定義してもらいますか?これにより、テキスト内でそれらを認識し、それに応じて処理することがはるかに簡単になります。

実際に式を解析するという点では、「逆ポーランド記法」に変換することを検討してください。プログラムの例を次に示します。http://www.codeproject.com/Articles/5875/C-Expression-Parser-using-RPN

于 2012-04-11T15:07:38.997 に答える