请教一个定义数值积分函数,嵌套数值积分得到非数值的问题
mathematica吧
全部回复
仅看楼主
level 1
各位大佬,我的代码是这样的
F[q_NumericQ, q0_NumericQ]:=Hold[NIntegrate[f(q,q0,k),{k,0,inf}]]
ReleaseHold[NIntegrate[F[q,q0],{q,0,inf},{q0,0,inf}]]
这样得到的结果是0,但它肯定不为0
用Activate和Inactive的方法无法得到答案,或者说计算极慢
如果不用Hold,单纯
F[q_NumericQ, q0_NumericQ]:=NIntegrate[f(q,q0,k),{k,0,inf}]
NIntegrate[F[q,q0],{q,0,inf},{q0,0,inf}]
结果得到非数值,这样应该如何解决?
2024年12月17日 13点12分 1
level 1
我要定义这样一个数值积分函数的原因是实际表达式有F^2,F^6等复杂的形式,甚至除了F还有G,H等等。像1楼提出的结果其实不定义数值积分函数也能直接对k,q,q0积分,得到一个有限的值
2024年12月17日 13点12分 2
level 1
一部分解决了,,忘了在_后面加个?
但是得到的结果还是很奇怪,明明式子是一样的但得到的结果不一样,直接对k,q,q0积分收敛,但是定义数值积分的方法发散了
2024年12月17日 15点12分 3
1