24小时热门版块排行榜    

查看: 2036  |  回复: 7

皓小天

木虫之王 (职业作家)

[求助] Laplace数值反演wooden方法请大家帮忙(如能解决,可加金币) 已有1人参与

希望能与各位喜欢数学的同道们讨论下。
wooden数值反演方法是stehfest方法的一种改进(常称为AWG方法),在孔祥言的书中写出了其数值反演的具体方式(在下面图片中),我带入matlab计算,发现反演的结果明显不对(代码在下面)。我将wooden原文献的代码(好像要fortran编写的)放在附件中,孔祥言应该是根据wooden的代码写的通式。孔祥言的通式如下(下面图片中):
编写的matlab代码如下(按照孔祥言通式编写):
t=2;
s=0;
v=0;
N=20;
V=ones(1,N);
f=@(x) 1./(1+x);%laplace空间的函数,很容易知道此函数的真实空间函数为exp(-t)
for i=1:N
    for k=floor((i+1)/2):min(i,N/2)
        V(i)=v+(-1).^(N/2+i).*k.^(N/2)*factorial(2*k+1)/factorial(k+1)/factorial(k)/factorial(N/2-k+1)/factorial(i-k+1)/factorial(2*k-i+1);
    end
    s=s+log(2)./t.*V(i).*f(log(2)./t*i);
end
*******************************************
*******************************************
wooden的程序在附件中(wooden并没有写通式,在他文章中只有附件中的程序,还有与其他方法计算的对比结果,所以信息就只有这么多)

希望得到的东西:可以正确的运行wooden的程序,用MATLAB即可,得到正确的反演结果。
我现在不知道是孔祥言通式有问题,还是我编程出问题了(我认为是正确的),当然方法的来源都是来自wooden的程序,但是我对fortran不太熟悉。

希望在这方面擅长的虫友们帮我看看可不可以解决这个问题
拜谢Laplace数值反演wooden方法请大家帮忙(如能解决,可加金币)
2015-10-20_10-13-16.png
回复此楼

» 本帖附件资源列表

» 本帖@通知

» 猜你喜欢

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

请不要站内找我要书,如果需要请到书籍板块求助
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

nagami

木虫 (正式写手)

【答案】应助回帖

...
V=zeros(1,N);
....

V(i)=V(i)+(-1).^(N/2+i).*k.^(N/2)*factorial(2*k+1)/factorial(k+1)/factorial(k)/factorial(N/2-k+1)/factorial(i-k+1)/factorial(2*k-i+1);
...
这样写就ok了
要是大规模计算,这种写法效率差,应该避免不必要的重复性计算
女靠衣装;男靠金装
2楼2015-10-23 13:51:21
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

nagami

木虫 (正式写手)

【答案】应助回帖

...
V=zeros(1,N);
....

V(i)=V(i) + k^(N/2)*factorial(2*k)/(factorial(k)*factorial(k-1)*factorial(N/2-k)*factorial(i-k)*factorial(2*k-i));
...
是这样,0偏置和1偏置的区别,fortran和c/c++,起始数组编号不同
女靠衣装;男靠金装
3楼2015-10-23 13:54:25
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

皓小天

木虫之王 (职业作家)

引用回帖:
3楼: Originally posted by nagami at 2015-10-23 13:54:25
...
V=zeros(1,N);
....

V(i)=V(i) + k^(N/2)*factorial(2*k)/(factorial(k)*factorial(k-1)*factorial(N/2-k)*factorial(i-k)*factorial(2*k-i));
...
是这样,0偏置和1偏置的区别,fortran和c/c++,起始数 ...

计算结果不对啊,你看我按照你的修改如下:
t=2;
s=0;
v=0;
N=20;
V=zeros(1,N);
f=@(x) 1./(1+x);
for i=1:N
    for k=floor((i+1)/2):min(i,N/2)
        V(i)=V(i) + k^(N/2)*factorial(2*k)/(factorial(k)*factorial(k-1)*factorial(N/2-k)*factorial(i-k)*factorial(2*k-i));
    end
    s=s+log(2)./t.*V(i).*f(log(2)./t*i);
end
******************************
结果如下:
s=452409033762.281;
****************************
laplace空间1/(1+x)对应的原函数为exp(-t),所以理论解在t=2的时候,
exp(-2)=0.1353
这与452409033762.281明显不等啊
**********************************************
谢谢,先送你鲜花,在看看哪不对
请不要站内找我要书,如果需要请到书籍板块求助
4楼2015-10-23 14:06:45
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

nagami

木虫 (正式写手)

【答案】应助回帖

★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ...
皓小天: 金币+150, ★★★★★最佳答案, 非常感谢 2015-10-23 16:20:11
引用回帖:
4楼: Originally posted by 皓小天 at 2015-10-23 14:06:45
计算结果不对啊,你看我按照你的修改如下:
t=2;
s=0;
v=0;
N=20;
V=zeros(1,N);
f=@(x) 1./(1+x);
for i=1:N
    for k=floor((i+1)/2):min(i,N/2)
        V(i)=V(i) + k^(N/2)*factorial(2*k)/(factor ...

t=2;
s=0;
v=0;
N=18;
V=zeros(1,N);
f=@(x) 1./(1+x);%laplace空间的函数,很容易知道此函数的真实空间函数为exp(-t)
for i=1:N
    for k=floor((i+1)/2):min(i,N/2)
        V(i)=V(i) + k^(N/2)*factorial(2*k)/(factorial(k)*factorial(k-1)*factorial(N/2-k)*factorial(i-k)*factorial(2*k-i));
    end
    V(i)=(-1)^(N/2+i)*V(i);
    s=s+log(2)./t.*V(i).*f(log(2)./t*i);
end
s
exp(-t)
女靠衣装;男靠金装
5楼2015-10-23 15:43:23
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

358065752

新虫 (初入文坛)

你在VB中试过吗
6楼2017-03-20 20:49:42
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
7楼2017-03-31 16:21:09
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

camilali

新虫 (初入文坛)

8楼2017-10-23 08:15:02
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 皓小天 的主题更新
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[基金申请] 面上函评意见出来了,像什么等级? 20+4 Tsingking1 2026-08-27 17/850 2026-09-01 19:51 by 超级无敌华子
[基金申请] 为什么国自然不能直接公布 +5 bjdxyxy 2026-08-26 5/250 2026-09-01 17:54 by 小伟大博士
[基金申请] 麻烦专家们看看评委们的意见(F口面上) +7 gdd2018 2026-08-28 12/600 2026-09-01 08:32 by 尼古拉斯小虫
[基金申请] 基金未中,这种答复是模板吗? +6 zhaosm1982 2026-08-27 7/350 2026-08-31 21:18 by qdxxmc
[基金申请] 哪位高人中了,把查询到的截图贴出来让我看看,让我长长见识 +6 yuleib84 2026-08-26 7/350 2026-08-31 19:46 by 鱼翔浅底1
[基金申请] 面上意见出来了 +12 黄鸟于飞Chao 2026-08-29 23/1150 2026-08-31 18:57 by 黄鸟于飞Chao
[基金申请] 有没有仍没收到信息的 +7 德尚中行 2026-08-27 8/400 2026-08-30 20:52 by purplejack
[考博] 找导师 +6 yuanjiabao 2026-08-29 7/350 2026-08-30 14:40 by 生科新手
[基金申请] 我就是申请一个面上项目而已,这评审意见是按照杰青的条件评的吧? +6 gouxfjh 2026-08-28 11/550 2026-08-30 07:57 by gouxfjh
[基金申请] 国自然评审意见 +13 wangmingqi 2026-08-28 19/950 2026-08-29 10:22 by Poppy1104
[基金申请] 2026年叶企孙基金 +4 bud_bud 2026-08-27 7/350 2026-08-29 07:23 by foolishmani
[基金申请] 系统查不到 +11 董八千 2026-08-26 11/550 2026-08-28 18:06 by Leogzhya
[基金申请] 基金系统什么内容也没有 30+4 winsaint 2026-08-27 9/450 2026-08-28 11:06 by maolC
[基金申请] 怎么查啊 +6 huang1991js 2026-08-26 6/300 2026-08-28 08:42 by winsaint
[基金申请] 看板上这么多中的,有点像50人群里49个人都是骗子的那种感觉…… +5 a089 2026-08-26 6/300 2026-08-27 14:05 by jonewore
[基金申请] 为什么 国际(地区)合作与交流项目 没有放榜? 10+3 majunge000 2026-08-26 11/550 2026-08-27 08:42 by 北京莱茵编辑
[基金申请] 国合里面能看到了 +7 一怀馨秋 2026-08-26 7/350 2026-08-26 11:23 by zhaosm1982
[基金申请] 国际合作可查了,中了面上 (EPI+1)(金币+50) +18 Ldrop2023 2026-08-26 18/900 2026-08-26 11:15 by cmrandy
[基金申请] 系统进不去 +4 yanglien 2026-08-26 5/250 2026-08-26 11:10 by wenfengw83
[基金申请] 国合可查了 +3 paperzjh 2026-08-26 3/150 2026-08-26 10:41 by LemmonTr
信息提示
请填处理意见