24小时热门版块排行榜    

北京石油化工学院2026年研究生招生接收调剂公告
查看: 362  |  回复: 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 的主题更新
普通表情 高级回复 (可上传附件)
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[考研] 0856求调剂 +12 zhn03 2026-03-25 13/650 2026-03-29 06:47 by 544594351
[考研] 0856材料化工调剂 总分330 +12 zhubinhao 2026-03-27 12/600 2026-03-29 06:38 by 544594351
[考研] 295求调剂 +4 wei-5 2026-03-26 4/200 2026-03-28 23:20 by 小木虫tim
[考研] 一志愿郑州大学,080500学硕,总分317分求调剂 +5 举个栗子oi 2026-03-24 6/300 2026-03-28 23:03 by lizhi8172
[考研] 化学0703 调剂 306分 一志愿211 +4 26要上岸 2026-03-28 4/200 2026-03-28 15:30 by 1018329917
[考研] 化学调剂 +4 爱吃番茄的旭 2026-03-24 5/250 2026-03-27 17:50 by kiokin
[考研] 272求调剂 +7 脚滑的守法公民 2026-03-27 7/350 2026-03-27 17:23 by laoshidan
[考研] 283求调剂(080500) +4 A child 2026-03-27 4/200 2026-03-27 15:34 by XPU李庆
[考研] 一志愿华东理工大学081700,初试分数271 +6 kotoko_ik 2026-03-23 7/350 2026-03-27 12:29 by 惠州彭于晏
[考研] 材料求调剂 +5 .m.. 2026-03-25 5/250 2026-03-27 11:08 by 不吃魚的貓
[硕博家园] 北京林业大学硕导招生广告 +6 kongweilin 2026-03-26 8/400 2026-03-27 10:18 by FF_16
[考研] 304材料求调剂 +4 钟llll 2026-03-26 4/200 2026-03-27 03:42 by wxiongid
[考研] 317求调剂 +7 蛋黄咸肉粽 2026-03-26 7/350 2026-03-27 02:29 by fmesaito
[考研] 336材料求调剂 +7 陈滢莹 2026-03-26 9/450 2026-03-27 00:20 by wxiongid
[考研] 081700 调剂 267分 +11 迷人的哈哈 2026-03-23 11/550 2026-03-26 15:41 by zzll406
[考研] 303求调剂 +6 蓝山月 2026-03-25 6/300 2026-03-25 22:47 by 418490947
[考研] 各位老师您好:本人初试372分 +5 jj涌77 2026-03-25 6/300 2026-03-25 14:15 by mapenggao
[考研] 284求调剂 +3 yanzhixue111 2026-03-23 6/300 2026-03-23 22:58 by pswait
[考研] 一志愿重庆大学085700资源与环境,总分308求调剂 +7 墨墨漠 2026-03-23 8/400 2026-03-23 20:36 by Creta
[考研] 336化工调剂 +4 王大坦1 2026-03-23 5/250 2026-03-23 18:32 by allen-yin
信息提示
请填处理意见