查看: 443  |  回复: 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 的主题更新
普通表情 龙 兔 虎 猫 高级回复 (可上传附件)
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[有机交流] 用NBS溴化时溶剂除了CCl4外还有什么 +3 18834002860 2026-10-12 6/300 2026-10-15 14:30 by 长沙摩尔信息科�
[职场人生] 40+中年人失业后,还能找到好工作吗? +6 xqy2009 2026-10-13 7/350 2026-10-15 14:22 by ichall
[硕博家园] 极限拉扯,如何抉择 +11 Isak0320 2026-10-12 15/750 2026-10-14 21:55 by 猫鱼不是鱼
[论文投稿] 二审4个多月了还是Awaiting Reviewer Scores 10+3 纳斯达克ML 2026-10-11 4/200 2026-10-14 17:30 by babero
[有机交流] OpenAI又攻克数学难题了,离AI做有机合成还有多远? +8 wangyl_123 2026-10-10 13/650 2026-10-14 15:12 by zuesli
[教师之家] 课题组会帮你通过考核么? +4 好运来~9527 2026-10-10 7/350 2026-10-13 08:41 by xli1984
[找工作] 售SCI一区T0P文章,我:8.O55.1.O.54,科目全,可十急 +5 qR2AdCWTVtkw 2026-10-09 8/400 2026-10-11 22:26 by XQNyDCa1Tk5n
[公派出国] 售SCI一区文章,我:8O5.5.1.O5.4,科目全,可伽急 +5 qR2AdCWTVtkw 2026-10-09 10/500 2026-10-11 22:26 by XQNyDCa1Tk5n
[考博] 售SCI一区T0P文章,我:8.O55.1.O.54,科目全,可十急 +5 qR2AdCWTVtkw 2026-10-09 9/450 2026-10-11 22:15 by XQNyDCa1Tk5n
[考博] 售SCI一区文章,我:8.O.55.1.O.54,科目齐全,可伽急 +3 qR2AdCWTVtkw 2026-10-09 7/350 2026-10-11 22:11 by XQNyDCa1Tk5n
[教师之家] 售SCI文章,我:8O5.5.1.O.54,科目齐全,可+急 (EPI+-1)(金币-50) +5 qR2AdCWTVtkw 2026-10-09 10/500 2026-10-11 22:06 by XQNyDCa1Tk5n
[教师之家] 售SCI文章,我:8O.5.5.1O.54,科目全,可十急 (EPI+-1)(金币-50) +4 qR2AdCWTVtkw 2026-10-09 7/350 2026-10-11 14:05 by VOMexwnDzOFZ
[考研] 售SCI文章,我:8O.5.5.1O.54,科目全,可十急 +5 qR2AdCWTVtkw 2026-10-09 8/400 2026-10-11 13:51 by VOMexwnDzOFZ
[硕博家园] 售SCI-T0P文章,我:8O.5.5.1.O.54,科目齐全,可+急 +5 qR2AdCWTVtkw 2026-10-09 8/400 2026-10-11 13:45 by VOMexwnDzOFZ
[找工作] 售SCI一区T0P文章,我:8O.55.1.O.5.4,科目齐全,可+急 +3 qR2AdCWTVtkw 2026-10-09 7/350 2026-10-11 10:54 by VOMexwnDzOFZ
[找工作] 售SCI一区T0P文章,我:8O.55.1.O.5.4,科目齐全,可+急 +4 qR2AdCWTVtkw 2026-10-09 7/350 2026-10-11 10:34 by VOMexwnDzOFZ
[考博] 招收博士生一名 +3 mandolin 2026-10-10 3/150 2026-10-11 10:21 by 不是山谷!
[公派出国] 售SCI一区T0P文章,我:8O.55.1.O.54,科目全,可伽急 +4 qR2AdCWTVtkw 2026-10-09 4/200 2026-10-11 03:14 by M0zrYVSAnxpE
[有机交流] 各位大佬,路线设计求助 +6 zapen 2026-10-08 8/400 2026-10-10 15:59 by zapen
[有机交流] 我应该选哪条合成路线让实验成功率高一些? +5 jing816y 2026-10-08 9/450 2026-10-10 09:05 by zapen
信息提示
请填处理意见