我想要計算一個定積分。我寫:NIntegrate未能收斂在不在我的定積分內的點附近?
NIntegrate[expression, {x, 0, 1}, WorkingPrecision -> 100]
下面描述「表達式」。 WorkingPrecision已被添加以幫助解決另一個錯誤。
我得到一個錯誤:
"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>>}
時,我只在看0<x<1
?這個數字的雙重尖括號是什麼意思?這是一個基本的版本(我需要變量的一些指數,但這些是最低的值,而我是最低的值,而且我是最低的值,仍然得到錯誤)。
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]或更高版本時,出現錯誤。奇怪的是,當我使用正則積分,然後在最後使用// N時,我得到一個n = 2的複數。
經過一番實驗,如果我提高工作精度,在某些情況下錯誤消失,但這不是錯誤消息幫助說的。當我畫出這個間隔時,它會在一定範圍內出現非常示波,但它不應該是這樣。雖然這只是一小部分,但也許它與精確度有關,以至於不可能。在某些點上舍入爲零? – 2011-10-16 19:58:13
在這些情況下重要的一般提示:當您增加WorkingPrecision時,請注意,默認情況下會使用更高的PrecisionGoal,這會使問題變得更加困難。如果你只需要例如6位有效數字,明確設置PrecisionGoal - > 6. –
@Andrew:謝謝!我不需要很多數字,所以這非常有幫助。 – OctaviaQ