2012-03-20 9 views
2

私は、ユーザーから与えられた式(関数)の限界を計算できるアプリケーションの開発を計画しています。機能制限の計算にはどのような方法が最適ですか?

私はすでに、機能的な評価式を持っています。これは間違いなく便利です。私の考えは、次のように計算することです:私は、パラメータをいくつかの値に近づけてポイントに近づけますが、ポイントには達しません。最後に、2つの連続した結果の差が、が0より近づくか小さいかを確認します。が小さくなると、制限は有限で無限大になります。その後、結果を近似するのは簡単です。

もっと良いアプローチがありますか?または私はこのものと一緒に行くべきですか?

アプリケーションでは、+,-,*,/,%,^、関数(床、対数、三角法など)、3つの条件関数(abs、min、max)を含む関数を受け入れます。 したがって、たとえば整数値に特定の値を持ち、非整数値に別の値を持つ関数は受け入れられません。

+2

これは一般的に不可能です。ユーザーが入力できる機能の種類に制約がありますか? – Deestan

+0

あなたはそうです...それは0に近づくが、小さくはありません。そして私は何の制約もしていません...これはうまくいくと思います。 – Tibi

+4

www.wolframalpha.com :-)を呼び出してWebサービスを作成してください –

答えて

2

微分微積分を数学的に使うことができます。あなただけの差動ルールを実装する必要があり、あなたはいけないことのように強引に使用する必要が

いますが、wolframalphaで得たコメントは素晴らしいです: 例:thats exactly what you need

+0

それは私にとってかなり難しいようです...私は間違っていますか? – Tibi

+0

ルールはそれほど多くありませんが、うまくいってしまうのは難しいですね:-) – fixagon

+4

@Tibi It *は難しいです。私は嘲笑的でも風刺的でもないようにしようとしているわけではありませんが、あなたが今それを理解していれば、これを取り除くために必要な数学を持っていません。 – Deestan

1

は、私はちょうど短いコメントを書くつもりでした、私はそれについてもっと考えてみると、あなたの質問に対する答えは、あなたがあなたの提案をしてはならないという結論に達しました。あなたの提案には真円性があります。関数の限界を見つけるためには、関数の(想定される)限界に向かう一連の入力をシステムに提供することを提案します。限界が何であるかを考えずにどのように始めるのですか?あるいは、あなたがすでに知っている機能の限界を見つけ出すプログラムを実装したいのですか?いつもあなたよりも少なく知っている人工馬鹿?

これは、実際には実装するのは非常に難しい機能であり、すてきな機能を備えたすべての機能では機能しない一般的なソリューションは存在しないことをまず理解してください。 Sage(http://www.sagemath.org/)や他のオープンソースのコンピュータ代数システムがどのようにこれを実行しているかを知ることは有益です。

2

この回答は、プログラミングよりも数学ですが、あなたは(あなたが関数の詳細情報を追加しない限り)あなたが探しているものを行うことができない理由、それはあなたを示しています。

次のように我々はfを定義します。

  • f(x) = 0xが有理数
  • f(x) = 1ある場合xは有理数

ない場合、この関数はさえに制限はありません。任意の点ですが、指定した方法を使用する場合は、使用する浮動小数点数(または倍数)のうち、f(x)0、その差は0となります。

あなたの方法は、例えばポイント5fの制限が0であることを言うだろうが、fはまったく制限はありません。

+0

あなたは正しいが、これはif節なしで書くのは不可能である。そして、プログラミングでは、合理的で非合理的な数字の違いを作ることは(不可能ではないにしても)難しいです。したがって、これは制約条件となり、条件付き節はありません。 – Tibi

+0

あなたのプログラムはどのような機能を受け入れますか?あなたの質問を編集し、少なくともいくつかの例を提供することができますか? – sch

関連する問題