1

我想使用 Mathematica 进行数值积分。被积函数是

I=Exp[-z^2]F[z]^2

其中这个 F[z] 定义为 Integrate[1/(q+I) Exp[-c(q+z)^2],{q,-Infinity,0}]。由于 Mathematica 不知道如何进行积分,因此必须以数值方式进行。我必须将集成更改为“NIntegrate”。在我看来,Mathematica 拒绝对另一个数值积分进行数值积分。我没有在多变量上使用 NIntegrate 的原因是实际的被积函数既长又复杂,涉及 F[z]。

我还想知道我们是否可以定义我们自己的特殊函数,比如 Mathematica 中的内置函数。由于误差函数是一个积分,当数值积分超过误差函数时,Mathematica 不会抱怨。我可以像内置函数一样在这里转换 F[z] 吗?

非常感谢

4

1 回答 1

3
In[1]:= c = 2; (* make sure all variables have constant values assigned *)
F[z_?NumericQ] := NIntegrate[1/(q + I) Exp[-c (q + z)^2], {q, -Infinity, 0}];
NIntegrate[Exp[-z^2] F[z]^2, {z, 1, 3}]

Out[3]= 0.00387755 + 0.0794878 I
于 2013-09-19T22:32:32.567 回答