24小时热门版块排行榜    

查看: 383  |  回复: 3
当前主题已经存档。
当前只显示满足指定条件的回帖,点击这里查看本话题的所有回帖

jianchaoyv

金虫 (小有名气)

[交流] 【求助】一个Fortran 90程序出错

各位好!求助一个Fortran 90程序如下:
program D3R1
!driver for routine TRAPZD
real,parameter::nmax=15,pio2=1.5707963
external Func,Fint
real::A=0.0,B=pio2
write(*,'(1x,a)') 'integral of Func with 2^(n-1) points'
write(*,'(1x,a,f10.6)')'actual value of integral is',&
               Fint(B)-Fint(A)
write(*,'(1x,t7,a,t16,a)')'n','Approx.integral'
do i=1,nmax
   call TRAPZD(Func,A,B,s,i)
   write(*,'(1x,i6,f20.6)')i,s
end do
end program D3R1
Function Func(x)
    Func=(x**2)*(x**2-2.0)*sin(x)
end function Func
function Fint(x)
!integral of Func
Fint=4.0*x*((x**2)-7.0)*sin(x)-((x**4)-14.0*(x**2)+28.0)*cos(x)
end function Fint



subroutine TRAPZD(Func,A,B,s,n)
integer,parameter::k1=selected_int_kind(13)
integer(kind=k1)::tnm
integer,parameter::k2=selected_real_kind(8,13)
real(kind=k2)::del,sum,x
if(n==1)then
  s=0.5*(b-a)*(Func(a)+Func(b))
  else
  tnm=2.0**(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

运行后提示:Error: This is an incorrect value for a kind type parameter in this context.   [K1] integer(kind=k1)::tnm

请问错误在哪??
回复此楼

» 猜你喜欢

已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

argo

铁杆木虫 (著名写手)

上善若水


小木虫(金币+0.5):给个红包,谢谢回帖交流
我这边编译后执行时出现以下信息:
引用回帖:
integral of Func with 2^(n-1) points
actual value of integral is -0.479158
      n        Approx.integral
      1            0.905772
      2            6.166170
      3 -Infinity
      4 -Infinity
      5 -Infinity
      6 NaN
      7 NaN
      8 NaN
      9 NaN
     10 NaN

run-time error M6201: MATH
- sin: DOMAIN error
Image              PC        Routine            Line        Source
b.exe              00407549  Unknown               Unknown  Unknown
b.exe              004073A7  Unknown               Unknown  Unknown
b.exe              00407501  Unknown               Unknown  Unknown
b.exe              00409898  Unknown               Unknown  Unknown
b.exe              0043C93E  Unknown               Unknown  Unknown
b.exe              00430EC0  Unknown               Unknown  Unknown
b.exe              00429F8C  Unknown               Unknown  Unknown
b.exe              004012C4  Unknown               Unknown  Unknown
b.exe              004014A3  Unknown               Unknown  Unknown
b.exe              004011FD  Unknown               Unknown  Unknown
b.exe              00443969  Unknown               Unknown  Unknown
b.exe              00428E29  Unknown               Unknown  Unknown
kernel32.dll       7C817077  Unknown               Unknown  Unknown

Incrementally linked image--PC correlation disabled.

居善地,心善渊,与善仁,言善信,正善治,事善能,动善时。
3楼2009-06-20 09:55:01
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
查看全部 4 个回答

yuheng2182

木虫 (正式写手)


小木虫(金币+0.5):给个红包,谢谢回帖交流
上面的运行结果和我的一样.
4楼2009-06-20 10:26:27
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
普通表情 高级回复 (可上传附件)
信息提示
请填处理意见