24小时热门版块排行榜    

北京石油化工学院2026年研究生招生接收调剂公告
查看: 598  |  回复: 4
当前只显示满足指定条件的回帖,点击这里查看本话题的所有回帖

wocamuchong

铁虫 (小有名气)

[求助] 怎样加快这个代码的运行?

Hi,

我要在Mathematica里做Hankel transform(它就是像傅立叶变换,但是以Bessel函数为base),具体的转换公式可以参考wiki,http://en.wikipedia.org/wiki/Hankel_transform。但是我在Mathematica里直接用数值积分的办法来进行转换,好像很慢。

我上传我的代码。其中
a : 我要转换的离散数值,可以是任何函数。第一个index是坐标r,第二个index是具体数值。
然后我做interpolation得到他的插值的函数。
然后用NIntegrate来算Hankel transform。

像傅立叶转换一样,Hankel transform也有逆转换。倒数第二行就是逆转换的定义,然后最后一行给出的数值应该是落于{0.9986238244, 0.0002427139}, {1.0101920314, 0.0002393707}之间,这个是从a里读出来的数据。

但是这个运行的时间好像太长,我运行了20分钟,还没有结果。不知道大家有没有更好的办法,我Mathematica不是很熟。谢谢。
回复此楼

» 本帖附件资源列表

  • 欢迎监督和反馈:小木虫仅提供交流平台,不对该内容负责。
    本内容由用户自主发布,如果其内容涉及到知识产权问题,其责任在于用户本人,如对版权有异议,请联系邮箱:xiaomuchong@tal.com
  • 附件 1 : xiaomuchong.nb
  • 2014-10-13 20:40:46, 45.25 K

» 猜你喜欢

» 本主题相关价值贴推荐,对您同样有帮助:

已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

walk1997

金虫 (著名写手)

btw: 如果是真积分从0到无穷的话,对于Beesel这样的振荡函数,可能采用Method -> {"DoubleExponentialOscillatory"} 会给出更可靠的结果
有时候默认的结果虽然并不报错 但可能并不是真实的结果.
3楼2014-10-14 12:44:09
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
查看全部 5 个回答

walk1997

金虫 (著名写手)

几个问题
1. 数学,这个变换的存在对这个函数是有要求的吧,
要求这个函数的绝对值|f(r)|*r在0到无穷间的积分区域收敛吧.
看你的函数,原始差不多只是定义在小量到20左右,并且在这附近都是常数,一方面你插值以后外推到无穷远处不太合理,另外一方面要是在大x都取成常数的话,也不符合做这个变换的条件。我觉得你这个时候不应该用到变换吧,而应该用类似的无穷级数展开,比如..
f[w]=\sum_{1} BesselJ[0,\sqrt{mu_m \rho}]
2. 另外,如果直接截断第一个积分到20,给出的结果感觉差不多
--------------
r1 = 1;
NIntegrate[
  ifun[r] *r* BesselJ[0, k*r]*BesselJ[0, k*r1]*k, {k, 0,
   Infinity}, {r, 0, 20}, PrecisionGoal -> 2,
  MaxRecursion -> 40] // AbsoluteTiming
------------
{1092.899510,0.000242286}
2楼2014-10-14 12:34:56
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

wocamuchong

铁虫 (小有名气)

你说的对,我没注意Mathematica里的interpolation是怎么做的,我看了下,他就是让它变成常数在很大的r,若是非零常数就不收敛了,就像你指出的。我还以为Mathematica会给一个compact support,所以外面都是零。

谢谢了,我用discrete的定义式直接做了,好像可以inverse回来得到原来的input。
4楼2014-10-14 22:05:29
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

大家的诚

银虫 (小有名气)

你好,请问离散的方法如何实现?
5楼2015-12-10 09:09:13
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[考研] 化学308分求调剂 +5 你好明天你好 2026-03-23 5/250 2026-03-26 23:43 by 催化大白
[考研] 329求调剂 +5 1() 2026-03-22 5/250 2026-03-26 20:40 by fmesaito
[考研] 324求调剂 +4 wysyjs25 2026-03-21 4/200 2026-03-26 20:38 by fmesaito
[考研] 340求调剂 +3 Amber00 2026-03-26 3/150 2026-03-26 18:57 by 不吃魚的貓
[考研] 一志愿 西北大学 总分282 英语一62 求调剂 +7 18419759900 2026-03-25 7/350 2026-03-26 16:07 by 不吃魚的貓
[考研] 263求调剂 +6 yqdszhdap- 2026-03-22 10/500 2026-03-26 13:11 by 公瑾逍遥
[考研] 一志愿天津大学339材料与化工求调剂 +3 江往卖鱼 2026-03-26 3/150 2026-03-26 09:42 by 王小欠i
[考研] 一志愿南航 335分 | 0856材料化工 | GPA 4.07 | 有科研经历 +6 cccchenso 2026-03-23 6/300 2026-03-25 22:25 by 544594351
[考研] 机械学硕总分317求调剂!!!! +4 Acaciad 2026-03-25 4/200 2026-03-25 19:59 by hanserlol
[考研] 【2026考研调剂】制药工程 284分 求相关专业调剂名额 +4 袁奂奂 2026-03-25 8/400 2026-03-25 14:32 by lbsjt
[考研] 269求调剂 +4 我想读研11 2026-03-23 4/200 2026-03-23 21:25 by pswait
[考研] 280分求调剂 一志愿085802 +4 PUMPT 2026-03-22 7/350 2026-03-22 22:13 by 星空星月
[考研] 石河子大学(211、双一流)硕博研究生长期招生公告 +3 李子目 2026-03-22 3/150 2026-03-22 21:01 by 怎么释怀
[考研] 275求调剂 +6 shansx 2026-03-22 8/400 2026-03-22 15:27 by barlinike
[考研] 311求调剂 +3 26研0 2026-03-20 3/150 2026-03-22 14:46 by ColorlessPI
[考研] 303求调剂 +5 安忆灵 2026-03-22 6/300 2026-03-22 12:46 by 素颜倾城1988
[考研] 一志愿东华大学控制学硕320求调剂 +3 Grand777 2026-03-21 3/150 2026-03-21 19:23 by 简之-
[考研] 266求调剂 +3 哇呼哼呼哼 2026-03-20 3/150 2026-03-21 16:46 by barlinike
[考研] 0805材料320求调剂 +3 深海物语 2026-03-20 3/150 2026-03-21 15:46 by 无际的草原
[考研] 一志愿南理工085701环境302求调剂院校 +3 葵梓卫队 2026-03-20 3/150 2026-03-20 19:28 by zhukairuo
信息提示
请填处理意见