主题:一个计算积分的书上程序,出错了!
这是从MATH_IMSL6.0指导上抄的一个用QDAGS求积分的程序。
QDAGS(F,A,B,RESULT,ERRABS,ERRREL,ERREST)
F,被积函数
A,B 积分上下限
RESULT 积分结果
ERRABS 期望的绝对精度
ERRREL 期望的相对精度
ERREST 返回的绝对误差
下面这个是计算 f(x)=ln(x)/sqrt(x)在0到1的积分值
program jifenQDAGS
use imsl
implicit none
real a,abs,b,erra,errest,f,res
intrinsic abs
external f
ERRA=1.0e-4
a=0.0
b=1.0
CALL QDAGS (F, A, B, RES, ERRA, ERREST)
WRITE (*,*) RES, ERREST
END
REAL FUNCTION F (X)
REAL X
REAL ALOG, SQRT
F = ALOG(X)/SQRT(X)
RETURN
END
但是提示出错了,为什么呢?
D:\spintransport\jifenexam1.f90(12) : Error: A non-optional actual argument must be present when invoking a procedure with an explicit interface. [ERREST]
CALL QDAGS (F, A, B, RES, ERRA, ERREST)
QDAGS(F,A,B,RESULT,ERRABS,ERRREL,ERREST)
F,被积函数
A,B 积分上下限
RESULT 积分结果
ERRABS 期望的绝对精度
ERRREL 期望的相对精度
ERREST 返回的绝对误差
下面这个是计算 f(x)=ln(x)/sqrt(x)在0到1的积分值
program jifenQDAGS
use imsl
implicit none
real a,abs,b,erra,errest,f,res
intrinsic abs
external f
ERRA=1.0e-4
a=0.0
b=1.0
CALL QDAGS (F, A, B, RES, ERRA, ERREST)
WRITE (*,*) RES, ERREST
END
REAL FUNCTION F (X)
REAL X
REAL ALOG, SQRT
F = ALOG(X)/SQRT(X)
RETURN
END
但是提示出错了,为什么呢?
D:\spintransport\jifenexam1.f90(12) : Error: A non-optional actual argument must be present when invoking a procedure with an explicit interface. [ERREST]
CALL QDAGS (F, A, B, RES, ERRA, ERREST)