f(x)exp(-x)
x = 0と無限大の間の堅牢な積分アルゴリズムが必要です。f(x)
は正の微分可能な関数です。 私は配列x
を先験的に知りません(これは私のルーチンの中間出力です)。 x
アレイは、通常、ログが等間隔ですが、非常に不規則です。 現在、私はSimpsonアルゴリズムを使用しています。私の問題は、x
配列によってドメインが非常にアンダーサンプリングされていることが多いことです。これは積分の非現実的な値を生成します。 私のコードを実行するたびに、この積分を何千回も(それぞれ異なるx値のセットで)行う必要があるので、この関数を統合するための効率的で堅牢な方法を見つける必要があります。x = 0、無限大からf(x)exp(-x)を最適化
詳細: x
アレイは、2〜Nポイント(N既知)を持つことができます。最初の値は常にx[0] = 0.0
です。最後のポイントは、常に調整可能なしきい値x_max
(たとえば、exp(x_max) approx 0
)より大きい値です。私は点x[i]
のところでf
の値を知っているだけです(ただし関数は滑らかな関数です)。
私の最初のアイデアは、Laguerre-Gauss直交統合を行うことでした。しかし、このアルゴリズムは、最適な直交点を使用しない場合、非常に信頼性が低いと思われる。
私の現在のアイデアは、Simpsonアルゴリズムがより安定するように、補間ポイントのセットを追加して、f
を補間することです。私がこれを行うなら、補助点の最適な選択はありますか?
アドバイスありがとうございます。 ありがとうございました。その後、
http://math.stackexchange.com/ –
f(x)exp(x)またはf(x)exp(-x)でもっと運があるかもしれませんか? (指数+プラスxまたはマイナスx)? –
あなたの関数評価はCPUの高価な点は? (安価な評価ポイントが多いですか?) –