24小时热门版块排行榜    

查看: 424  |  回复: 3
当前主题已经存档。

jianchaoyv2651

铁虫 (初入文坛)

[交流] 【求助】fortran程序出错了

一个计算积分的程序如下:
program integral_1
integer,parameter::nmax=12
real*8,parameter::pio2=6.2831852
external Func
real*8::A=0.0,B=pio2,s
write(*,'(1x,a)') 'integral of Func with 2^(n-1) points'
write(*,'(1x,t7,a,t16,a)')'n','Approx.integral'
do i=1,nmax
   call TRAPZD(Func,A,B,s,i)
   write(*,'(1x,i6,f12.6)')i,s
end do
end program integral_1


Function Func(x)
real*8::x
real*8::Func
    Func=sin(x)**4/x**3
end function Func



subroutine TRAPZD(Func,a,b,s,n)
integer,parameter::k1=selected_int_kind(9)
integer(kind=k1)::tnm
real*8::del,sum,x,a,b,s
integer::n
if(n==1)then
  s=0.5*(b-a)*(Func(a)+Func(b))
  else
  tnm=2**(n-1)
  del=(b-a)/tnm
  x=a
  sum=0.0
  do j=2,tnm
    x=x+del
    sum=sum+Func(x)
  end do
   s=0.5*(Func(a)+Func(b)+2.0*sum)*del
end if
end subroutine TRAPZD
运行结果如下:
integral of Func with 2^(n-1) points
      n        Approx.integral
      1 NaN
      2 NaN
      3 NaN
      4 NaN
      5 NaN
      6 NaN
      7 NaN
      8 NaN
      9 NaN
     10 NaN
     11 NaN
     12 NaN
Press any key to continue
我感觉是计算范围越界,请高手指点!!
回复此楼
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

老虎大王

木虫 (著名写手)


jianchaoyv2651(金币+1,VIP+0): 4-13 11:31
呵呵呵。小兄弟,明显的问题。在TRAPZD的最后,有 s=0.5*(Func(a)+Func(b)+2.0*sum)*del,但是a是0啊。    Func=sin(x)**4/x**3,这样,Func(a)就是无穷大喽。。。。

遇到输出NaN,而没有其它出错信息,首先要考虑是不是被零除了。
2楼2009-04-13 10:59:02
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

jianchaoyv

金虫 (小有名气)

★ ★ ★ ★
jianchaoyv2651(金币+4,VIP+0): 4-13 11:31
怎样解决奇异点?
3楼2009-04-13 11:21:10
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

jianchaoyv2651

铁虫 (初入文坛)

知道了,算法中有反常积分。谢谢了!
4楼2009-04-13 11:32:08
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 jianchaoyv2651 的主题更新
普通表情 高级回复 (可上传附件)
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[考研] 售SCI一区文章,我:8.O.551.O.5.4,科目全,可伽急 +3 YLHlRHNwYkce 2026-09-02 8/400 2026-09-03 20:40 by jyNB2vrbdUpR
[硕博家园] 售SCI一区文章,我:8.O.551.O.5.4,科目全,可伽急 +3 uFOAtb1CDngh 2026-09-02 9/450 2026-09-03 20:20 by jyNB2vrbdUpR
[考博] 找导师 +7 yuanjiabao 2026-08-29 8/400 2026-09-03 20:15 by yinnelly
[教师之家] 售SCI一区T0P文章,我:8.O55.1.O.54,科目全,可十急 +4 ero8OE6tv9cu 2026-09-02 9/450 2026-09-03 20:07 by jyNB2vrbdUpR
[基金申请] 面上没中,邀请各位路过的虫友分析一下分数 +3 jackleilei 2026-09-03 3/150 2026-09-03 19:13 by god_tian
[硕博家园] 售一区SCI文章T0P,我:8O.551.O54,科目全,可十急 +4 YLHlRHNwYkce 2026-09-02 8/400 2026-09-03 18:50 by jyNB2vrbdUpR
[硕博家园] 售SCI一区文章,我:8.O.551.O.5.4,科目全,可伽急 +3 rFEsUBKXRll0 2026-09-02 6/300 2026-09-03 16:49 by T0rGB46095mJ
[找工作] 售SCI文章,我:8O.5.5.1O.54,科目全,可十急 +3 ero8OE6tv9cu 2026-09-02 8/400 2026-09-03 16:38 by T0rGB46095mJ
[考研] 售SCI一区T0P文章,我:8O.55.1.O.5.4,科目齐全,可+急 +3 ero8OE6tv9cu 2026-09-02 10/500 2026-09-03 16:27 by T0rGB46095mJ
[教师之家] 售SCI一区文章,我:8.O.55.1.O.54,科目齐全,可伽急 +3 YLHlRHNwYkce 2026-09-02 8/400 2026-09-03 12:03 by T0rGB46095mJ
[基金申请] 科研人应该花精力去思考如何解决问题,而不是去凝练问题 +7 瞬息宇宙 2026-09-01 14/700 2026-09-02 17:33 by ma0526
[基金申请] 要骂人了,新模版改版就是要淡化问题凝练这种虚的东西,结果有个评委还在说凝练得不够 +9 瞬息宇宙 2026-08-31 17/850 2026-09-02 14:04 by anjeeshine
[论文投稿] 小白求助 投论文要求的highlights应该如何写 5+3 l1963982152 2026-08-29 4/200 2026-09-01 09:04 by 北京莱茵编辑
[基金申请] 面上意见出来了 +12 黄鸟于飞Chao 2026-08-29 23/1150 2026-08-31 18:57 by 黄鸟于飞Chao
[基金申请] 能否申诉? +7 echo8914667 2026-08-30 8/400 2026-08-31 17:00 by yihongxu
[基金申请] 中青基了要发朋友圈吗? +7 349506619 2026-08-28 7/350 2026-08-31 13:39 by 冼亮淀粉酶
[基金申请] 29号明天会评吗 +4 笨笨唐 2026-08-28 4/200 2026-08-31 09:30 by huixian257
[基金申请] 为什么到现在没收到通知? +5 tannykie 2026-08-29 5/250 2026-08-30 21:05 by purplejack
[基金申请] 我就是申请一个面上项目而已,这评审意见是按照杰青的条件评的吧? +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
信息提示
请填处理意见