主题:IMSL库函数DCBJNS调用出错,求解
forcal
[专家分:80] 发布于 2011-02-12 21:39:00
在调用IMSL库函数DCBJNS时出错,如下图。
其中的CBJNS实际上是DCBJNS。
我已经使用了ERSET[0,0,0]函数关闭所有警告并要求不退出程序,但程序仍出错退出了。
我希望出错时不停止程序,该如何实现?
另外,CBJNS(800,800,2,aaa)为什么会出错呢?其中传入的复数是(800,800),aaa是一个数组。
相当于Fortran的:CALL DCBJNS ((800,800), 2, aaa)
最后更新于:2011-02-13 18:58:00
回复列表 (共2个回复)
沙发
forcal [专家分:80] 发布于 2011-02-12 21:45:00
补充:我用的是Compaq Fortran 6.0中的imsl。
板凳
forcal [专家分:80] 发布于 2011-02-13 18:54:00
USE Numerical_Libraries
INTEGER(4) N
PARAMETER (N=11)
INTEGER(4) K, NOUT
COMPLEX*16 CBS(N), Z
Z = (800.0, 800.0)
CALL DCBJNS (Z, N, CBS)
CALL UMACH (2, NOUT)
DO 10 K=1, N
WRITE (NOUT,99999) K-1, Z, CBS(K)
10 CONTINUE
99999 FORMAT (' J sub ', I2, ' ((', F6.3,',', F6.3, ')) = (', F9.3,',', F9.3,')')
END
上面的Fortran代码在运行时与Forcal出现的错误相同,想贴个图,怎么无法贴呢?
显示如下错误信息:
run-time error M6203: MATH
- exp: OVERFLOW error
Image PC Routine Line Source
bb.exe 0040E6D9 Unknown Unknown Unknown
bb.exe 0040E50B Unknown Unknown Unknown
bb.exe 0040E691 Unknown Unknown Unknown
bb.exe 00410908 Unknown Unknown Unknown
bb.exe 00431AE8 Unknown Unknown Unknown
bb.exe 00409B51 Unknown Unknown Unknown
bb.exe 0040105A MAIN$BB 7 bb.f90
bb.exe 0043B519 Unknown Unknown Unknown
bb.exe 0042D8D4 Unknown Unknown Unknown
kernel32.dll 7C817077 Unknown Unknown Unknown
这是个什么类型的运行错误?该如何自己控制错误输出,而不终止程序呢?
我来回复