私は定積分を計算しようとしています。私は以下のように書いています。NIntegrateは、定積分の中にない点の近くで収束しませんか?
NIntegrate[expression, {x, 0, 1}, WorkingPrecision -> 100]
"表現"は以下の通りです。 WorkingPrecisionは、別のエラーを助けるために追加されました。
私はエラーを取得する:私だけ0<x<1
で探していたときに
"NIntegrate::ncvb: NIntegrate failed to converge to prescribed accuracy after 9 recursive bisections in x near {x} = {<<156>>}. NIntegrate obtained <<157>> and <<160>> for the integral and error estimates. >>"
はなぜnear{x} = {<<156>>}
ため、このエラーを取得していますか?数字の周りに二重の括弧で囲まれた括弧は何を意味しますか?
この表現は実際には長いので、生成方法を示すことがより意味があると思います。これは基本的なバージョンです(変数にする必要がある指数のいくつかですが、それでもエラーが発生します)。
F[n_] := (1 - (1 - F[n-1])^2)^2;
F[0] = x;
Expr[n_]:= (1/(1-F[n]))Integrate[D[F[n],x]*x,{x,x,1}];
Expr [3]以上を統合するとエラーが発生します。奇妙なことに、正規のIntegrateを使って最後にNを使うと、n = 2の複素数が得られます。
いくつかの実験の後で、エラーメッセージのヘルプには言いませんが、作業精度を上げるとエラーが消えてしまうことがあります。私が間隔をプロットすると、あるべき範囲で非常に振動的になるが、そうではないはずである。それは分かりましたが...おそらくそれはデンマークのような精密さと関係があります。いくつかの点でゼロに丸めますか? –
重要な一般的なヒントこれらの状況では、WorkingPrecisionを増やすと、デフォルトではより高いPrecisionGoalが使用されるため、問題をもっと困難にする可能性があります。あなただけが必要な場合。 6人の有効数字が明示的に設定されています。PrecisionGoal - > 6. –
@Andrew:ありがとう!私は多くの数字を必要としないので、それは非常に有用です。 – OctaviaQ