24小时热门版块排行榜    

查看: 1791  |  回复: 4
当前只显示满足指定条件的回帖,点击这里查看本话题的所有回帖

fgwei2000

铜虫 (正式写手)

[求助] 我编的Simpson积分法fortran程序给不出结果,大侠们看看哪里出了问题?

如题:我编的Simpson积分法fortran程序给不出结果,大侠们看看哪里出了问题?
线性函数f=x在区间【0,1】上的积分,结果0.5.[ Last edited by fgwei2000 on 2011-10-29 at 23:07 ]
回复此楼
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

fgwei2000

铜虫 (正式写手)

引用回帖:
2楼: Originally posted by dingxb at 2011-11-01 14:54:30:
你这个Simposon积分法看上好去好奇怪。

你两次求差的目的是不是要判断是否达到要求的精度?

但是你在Sn 和S2n的计算公式貌似和普通的公式不同,建议重新检查所有公式。

我的算法如下:
Sn=(区间长度/6)*(f(左端点)+4*f(中间点)+f(右端点))
在Sn的基础上再推到出S2n的表达式(如程序中S2n的表示形式),然后利用
|I-S2n|=|S2n-Sn|/15这个公式的右端|S2n-Sn|/15来判断误差是否满足。
但是没有达到预期的结果。
你给出的参考程序没法判断误差。
4楼2011-11-01 22:09:10
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
查看全部 5 个回答

dingxb

金虫 (正式写手)

迷途书虫

【答案】应助回帖

★ ★
余泽成(金币+2): 谢谢参与应助! 2011-11-02 10:38:51
你这个Simposon积分法看上好去好奇怪。

你两次求差的目的是不是要判断是否达到要求的精度?

但是你在Sn 和S2n的计算公式貌似和普通的公式不同,建议重新检查所有公式。
http://sites.google.com/site/nwnuatom/个人网站,欢迎猛击乱点!
2楼2011-11-01 14:54:30
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

dingxb

金虫 (正式写手)

迷途书虫

【答案】应助回帖

fgwei2000(金币+2): 2011-11-01 22:10:32
建议参考下列代码


Program Simpsons
implicit none

real, Parameter :: a=0,b=1
integer :: n_points
integer :: k,i
real :: approx
real :: del_x, height, area, t,x
real :: n_points_1

Write(*,*)'Enter number of points'
Read(*,*)n_points

n_points_1 = real(n_points)

del_x = abs(b-a)/(n_points_1-1.)


approx = 0
t = a

do k=1, n_points-1

x = t + del_x/2
area = del_x/6 * ( 4*functio_n ( x ) + functio_n(t) + functio_n(t+del_x) )
t = t + del_x

approx = approx + area

end do



Write(*,*)approx


Contains
Real Function functio_n(x)
Real, Intent(in) :: x
functio_n=exp(-x)
end function

end program
http://sites.google.com/site/nwnuatom/个人网站,欢迎猛击乱点!
3楼2011-11-01 14:59:13
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

fgwei2000

铜虫 (正式写手)

引用回帖:
4楼: Originally posted by fgwei2000 at 2011-11-01 22:09:10:
我的算法如下:
Sn=(区间长度/6)*(f(左端点)+4*f(中间点)+f(右端点))
在Sn的基础上再推到出S2n的表达式(如程序中S2n的表示形式),然后利用
|I-S2n|=|S2n-Sn|/15这个公式的右端|S2n-Sn|/15来判断误差是否 ...

当然,上面的算法不能算是一个较好的算法,因为这一算法在逻辑上看着简单,但是运算效率却不是很高(效率高的算法应该是外推法)。因为我推导出了这么一个公式,所以想把它实现一下。
5楼2011-11-01 23:16:45
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[基金申请] filecode,4个jtjc了 +11 ziyangfang 2026-08-19 13/650 2026-08-19 21:28 by aasahr
[基金申请] 今天基金会出结果吗?20260819 +10 kkkl_v 2026-08-19 10/500 2026-08-19 21:04 by hneyxiong
[基金申请] 欢迎发来filecode的Mz6后的代码验证其规律 +54 医学老男孩 2026-08-13 121/6050 2026-08-19 20:28 by 医学老男孩
[教师之家] 为什么余额宝的年化利率越来越低?主要原因有哪些? +5 瞬息宇宙 2026-08-15 5/250 2026-08-19 20:23 by super2002521
[基金申请] 今天放榜吗? +14 布布和一二 2026-08-19 15/750 2026-08-19 18:07 by gltch
[博后之家] 售SCI一区T0P文章,我:8.O55.1.O.54,科目全,可十急 +3 PnssoZglMj3v 2026-08-19 3/150 2026-08-19 18:04 by oCMhZAsgNFoO
[考博] 售SCI文章,我:8O.5.5.1O.54,科目全,可十急 +3 PnssoZglMj3v 2026-08-19 4/200 2026-08-19 17:54 by oCMhZAsgNFoO
[考博] 售SCI一区T0P文章,我:8.O55.1.O.54,科目全,可十急 +3 PnssoZglMj3v 2026-08-19 5/250 2026-08-19 17:42 by oCMhZAsgNFoO
[基金申请] filecode=后面第一个是大写字母 +10 wangze12014 2026-08-14 12/600 2026-08-19 16:56 by 苦难博士
[基金申请] 2027广东省杰青 +4 奶牛小黑 2026-08-15 10/500 2026-08-19 11:02 by wanfengnew
[基金申请] 朋友圈看到的 +6 wangzilk 2026-08-18 8/400 2026-08-19 10:55 by Haru815
[基金申请] 什么时候开奖? +6 CrisMessi 2026-08-18 6/300 2026-08-19 08:06 by Equinoxhua
[基金申请] 明天放榜? +5 Shxjjxjkx 2026-08-18 5/250 2026-08-18 18:14 by -大大大大大-
[论文投稿] 投稿咨询 +4 wwm09 2026-08-17 6/300 2026-08-18 15:36 by wwm09
[基金申请] 时间戳又变了8-15 +14 archvillain 2026-08-15 26/1300 2026-08-18 13:37 by phantomgost
[基金申请] 哪位老哥知道今年的国自然具体哪一天放榜? +13 Ldrop2023 2026-08-13 16/800 2026-08-18 12:25 by 淀粉搬运工
[基金申请] 93BebMhtakh前后11位开头都是大写 +4 且听虎啸 2026-08-17 5/250 2026-08-18 00:49 by 蔡棒棒菂
[精细化工] 招聘 金属平磨液,抛光液研发工程师 +3 小天0311 2026-08-14 3/150 2026-08-16 07:31 by H9PLUS
[基金申请] 各位道友,我要去昆明玩几天,回来见。 +7 Tide man 2026-08-14 8/400 2026-08-15 01:11 by arzu_hma
[基金申请] 重要来源:本周末出结果 +10 瞬息宇宙 2026-08-12 10/500 2026-08-13 15:46 by likettle
信息提示
请填处理意见