- 积分
- 0
- 注册时间
- 2008-6-9
- 仿真币
-
- 最后登录
- 1970-1-1
|
被积函数比较复杂,应该采取怎样的积分方法才能保证得到正确的结果- ClearAll["Global`*"];
- \[Lambda] = 1.550*10^-6; w = 0.03;
- \[Alpha] = 1/(k*w^2); k = 2*Pi/\[Lambda];
- \[Beta] = 300;
- cc = 10^-15;
- \[Rho] = (0.545*cc*k^2*z)^(-3/5);
- b = k/(2*z);
- r\[Phi](*integrand*)=
- b^2/(Pi (k*\[Alpha] - I*b + 1/\[Rho]^2))
- Exp[-((\[Beta]^2 + 4*b^2*r^2)/(
- 4 (k*\[Alpha] - I*b + 1/\[Rho]^2)))]*BesselJ[0, \[Beta]*s2]*s2*
- r^3 BesselJ[
- 0, (\[Beta]*(-b^2*r^2 + s2^2/\[Rho]^4 -
- 2*I*b*r*s2*Cos[(\[Phi] - \[Phi]2)]/\[Rho]^2)^(1/2))/(
- k*\[Alpha] - I*b + 1/\[Rho]^2)]*
- Exp[-k*\[Alpha]*s2^2 -
- 1/(k*\[Alpha] - I*b +
- 1/\[Rho]^2) ((I*b*k*\[Alpha] + k*\[Alpha]/\[Rho]^2 + b^2)
- s2^2 - 2*b*r*s2*(I*k*\[Alpha] + b) Cos[\[Phi] - \[Phi]2])];
- t = Table[{r\[Phi], r\[Phi]/r^2}, {z, 900, 1000, 10}];
- t1 = Abs@NIntegrate[
- t, {r, 0, Infinity}, {\[Phi], 0, 2*Pi}, {s2, 0,
- Infinity}, {\[Phi]2, 0, 2*Pi}, Method -> "QuasiMonteCarlo"];
- ListLinePlot@Apply[Divide, t1, 1]
复制代码
这里我使用了蒙特卡洛方法,但是反馈的消息说积分不收敛,不知道如何是好?请给分析一下,谢谢!
[ 本帖最后由 maxb701228 于 2008-7-28 18:11 编辑 ] |
|