找回密码
 注册
Simdroid-非首页
查看: 169|回复: 7

[数值计算] 求助:mathematica积分

[复制链接]
发表于 2008-7-25 09:33:38 | 显示全部楼层 |阅读模式 来自 山东东营
被积函数比较复杂,应该采取怎样的积分方法才能保证得到正确的结果
  1. ClearAll["Global`*"];
  2. \[Lambda] = 1.550*10^-6; w = 0.03;
  3. \[Alpha] = 1/(k*w^2); k = 2*Pi/\[Lambda];
  4. \[Beta] = 300;
  5. cc = 10^-15;
  6. \[Rho] = (0.545*cc*k^2*z)^(-3/5);
  7. b = k/(2*z);
  8. r\[Phi](*integrand*)=
  9. b^2/(Pi (k*\[Alpha] - I*b + 1/\[Rho]^2))
  10. Exp[-((\[Beta]^2 + 4*b^2*r^2)/(
  11. 4 (k*\[Alpha] - I*b + 1/\[Rho]^2)))]*BesselJ[0, \[Beta]*s2]*s2*
  12. r^3 BesselJ[
  13. 0, (\[Beta]*(-b^2*r^2 + s2^2/\[Rho]^4 -
  14. 2*I*b*r*s2*Cos[(\[Phi] - \[Phi]2)]/\[Rho]^2)^(1/2))/(
  15. k*\[Alpha] - I*b + 1/\[Rho]^2)]*
  16. Exp[-k*\[Alpha]*s2^2 -
  17. 1/(k*\[Alpha] - I*b +
  18. 1/\[Rho]^2) ((I*b*k*\[Alpha] + k*\[Alpha]/\[Rho]^2 + b^2)
  19. s2^2 - 2*b*r*s2*(I*k*\[Alpha] + b) Cos[\[Phi] - \[Phi]2])];

  20. t = Table[{r\[Phi], r\[Phi]/r^2}, {z, 900, 1000, 10}];

  21. t1 = Abs@NIntegrate[
  22. t, {r, 0, Infinity}, {\[Phi], 0, 2*Pi}, {s2, 0,
  23. Infinity}, {\[Phi]2, 0, 2*Pi}, Method -> "QuasiMonteCarlo"];

  24. ListLinePlot@Apply[Divide, t1, 1]
复制代码

这里我使用了蒙特卡洛方法,但是反馈的消息说积分不收敛,不知道如何是好?请给分析一下,谢谢!

[ 本帖最后由 maxb701228 于 2008-7-28 18:11 编辑 ]
发表于 2008-7-25 12:17:57 | 显示全部楼层 来自 江苏无锡
Simdroid开发平台
这位老兄搞啥的,问题倒是不少,但也没见你成功的解决过问题?
回复 不支持

使用道具 举报

发表于 2008-7-25 12:58:12 | 显示全部楼层 来自 美国
原帖由 FreddyMusic 于 2008-7-24 22:17 发表
这位老兄搞啥的,问题倒是不少,但也没见你成功的解决过问题?

这个说的不错。我们这里好像成了某些公司的分支,但是我们没收费。
而且特别是一些人对别人特别不nice。不让别人明白你做什么,明白你的工作的重要。而且公式老是打错,大概不把自己贴这个的公式,再贴到Mathematica里面看看有没有错误。
自己对自己也不nice。一个公式特别长,可以分几次打,例如term1=...., term2=....,这样有错的时候也便于检查。
回复 不支持

使用道具 举报

发表于 2008-7-25 13:31:20 | 显示全部楼层 来自 江苏无锡
smarten,
It's interesting to publish more demonstration with Mathematica.
I am working a few months with demonstration team of Mathematica, they are good people and nice for quality.
I saw a few thread from you is good quality, you just simple make it as demonstration format and release it.

As on simwe forum is general and basic for us disscussion. While make a demo project you can learn more.
回复 不支持

使用道具 举报

 楼主| 发表于 2008-7-25 14:45:35 | 显示全部楼层 来自 山东东营

回复 2# 的帖子

我在研究光的传播呢。麻烦版主了!
回复 不支持

使用道具 举报

 楼主| 发表于 2008-7-25 14:51:36 | 显示全部楼层 来自 山东东营

回复 3# 的帖子

:loveliness: 实在不好意思,首先接受版主的批评。我在计算光的衍射问题,但是mathematica基础很差,因此总是麻烦版主,不管问题水平的高低,我都是考虑很久没有办法,才请教版主的。smarten给我很多帮助,我真的很感激,并不是对别人不nice!

[ 本帖最后由 maxb701228 于 2008-7-25 14:57 编辑 ]
回复 不支持

使用道具 举报

发表于 2008-7-31 22:32:48 | 显示全部楼层 来自 美国
看来光学问题很难。 好像文献上算光学问题大多用Fourier Transformation,或者可能要牺牲精度。
不过对于牺牲精度的计算,需要计算误差,。。。
这儿有个例子,我有的怀疑其正确性。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×
回复 不支持

使用道具 举报

发表于 2008-8-4 16:55:50 | 显示全部楼层 来自 山东东营
smarten 谢谢你!有机会请你!
回复 不支持

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|小黑屋|联系我们|仿真互动网 ( 京ICP备15048925号-7 )

GMT+8, 2024-5-2 07:13 , Processed in 0.053542 second(s), 13 queries , Gzip On, MemCache On.

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表