| 查看: 348 | 回复: 3 | |||
| 当前主题已经存档。 | |||
[交流]
【求助】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 我感觉是计算范围越界,请高手指点!! |
» 猜你喜欢
球磨粉体时遇到了大的问题,请指教!
已经有15人回复
过年走亲戚时感受到了所开私家车的鄙视链
已经有5人回复
情人节自我反思:在爱情中有过遗憾吗?
已经有5人回复
江汉大学解明教授课题组招博士研究生/博士后
已经有3人回复
老虎大王
木虫 (著名写手)
- 应助: 26 (小学生)
- 贵宾: 0.17
- 金币: 4774.1
- 散金: 8
- 红花: 42
- 帖子: 1361
- 在线: 215.2小时
- 虫号: 659094
- 注册: 2008-11-21
- 专业: 金属结构材料
2楼2009-04-13 10:59:02
3楼2009-04-13 11:21:10
4楼2009-04-13 11:32:08













回复此楼