小编Oct*_*iaQ的帖子

NIntegrate无法收敛到不在我的定积分内的点附近?

我试图计算一个确定的积分.我写:

NIntegrate[expression, {x, 0, 1}, WorkingPrecision -> 100]
Run Code Online (Sandbox Code Playgroud)

"表达"描述如下.添加了WorkingPrecision以帮助解决另一个错误.

我收到一个错误:

"NIntegrate :: ncvb:NIntegrate在{x} = {<< 156 >>}附近的9个递归二分之后未能收敛到规定的精度.NIntegrate获得了<< 157 >>和<< 160 >>的积分和误差估计.>>"

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}];
Run Code Online (Sandbox Code Playgroud)

当我集成Expr [3]或更高版本时,我收到错误.奇怪的是,当我使用常规积分然后在最后使用// N时,我得到一个n = 2的复数.

wolfram-mathematica

7
推荐指数
1
解决办法
4336
查看次数

试图让Mathematica逼近积分

我试图让Mathematica近似一个积分,它是各种参数的函数.我不需要它非常精确 - 答案将是一小部分,5位数将是不错的,但我会满足于2.
问题是,主要有一个象征性的积分积分,我不能使用NIntegrate,因为它的符号.

    F[x_, c_] := (1 - (1 - x)^c)^c;
    a[n_, c_, x_] := F[a[n - 1, c, x], c];
    a[0, c_, x_] = x;

    MyIntegral[n_,c_] := 
      NIntegrate[Integrate[(D[a[n,c,y],y]*y)/(1-a[n,c,x]),{y,x,1}],{x,0,1}]
Run Code Online (Sandbox Code Playgroud)

Mathematica在n 大于2且c大于3 时开始悬挂(通常为两者n并且c稍微高一些).

有没有重写这个表达式的技巧,以便更容易评估它?我已经打了不同的WorkingPrecisionAccuracyGoalPrecisionGoal上外的选项NIntegrate,但没有帮助内积分,这就是问题的所在.事实上,对于更高的nc,我甚至不能让Mathematica扩展内在导数,即

Expand[D[a[4,6,y],y]] 
Run Code Online (Sandbox Code Playgroud)

挂起.

我正在为学生使用Mathematica 8.

如果有人有任何关于我如何让M近似这个的提示,我将不胜感激.

wolfram-mathematica

5
推荐指数
1
解决办法
1344
查看次数

标签 统计

wolfram-mathematica ×2