2016-06-28 12 views
0

係数の配列で決まる多項式があるとします。係数は-100から100の整数です。私の仕事は、0から1の範囲でこの関数の最大点をプログラムで見つけることです。Cの最小関数を見つける

どうすればいいですか?

+1

多くの計算方法の1つを実装します。彼らの中には数学的な問題を解決しようとする人もいれば、より速い近似解を見つけようとする人もいます。そのうちの1つを実施する上での助けを求めることは、SOのトピックです。既成のソリューションを提供する人を尋ねるのは、 –

+0

ではありません。http://math.stackexchange.com/questions/58787/looking-for-numerical-methods-for-finding-local-maxima-and-minima-of-a -function –

+0

これは純粋な数学/チュートリアルの質問です。そのような場合には、話題にならないか、ライブラリのリクエストです(例:http://www.mathdotnet.com/)。その場合、特定の解決策を実装している特定の問題について助けを求めています(この場合、詳細は見当たりませんが、これは話題にはなりません)。 –

答えて

1

極限は、一次導関数の根で生じる。後者を計算し、Bernsteinベースで書き直します(これは三角形の線形システムの分解能を取ります)。次に、凸包のプロパティは、係数の符号の変化を調べることによって、どこでルーツが可能か不可能であるかを示します。

細分化のDe Casteljauアルゴリズムを使用すると、ルートの細分化のための2分法プロセスを実装できます。次に、ルーツの2次導関数の符号を計算することで、最小値から最大値を伝えることができます。

関連する問題