作者poiuy1203 (po)
看板Fortran
標題[問題] 程式發生錯誤 找很久了 高手能幫幫忙嗎?
時間Wed May 5 18:29:57 2010
程式跑到掛掉
但小弟功力太弱找不到原因
懇請高手幫看指點
畫面顯示
run-time error M6203: MATH
-csin:OVERFLOW error
跑到L=2,M=3,N=4時會掛掉
下面附上程式碼:
SUBROUTINE IILMN(IL,ML1,NN)
COMPLEX*16 II(6,5,80),K(6,5,80),Q(6,5,80),AX(6,5),AZ(6,5),DZZ,CI
REAL*8 DX(6),Z(6,5)
DIMENSION ML1(6),NN(6)
COMMON / DAT2 / DX,Z
COMMON / DAT4 / AX,AZ
COMMON / DAT5 / K,Q
COMMON / DAT22 / II
CI=CMPLX(0.0,1.0)
DO 1,L=1,IL
DO 2,N=1,NN(L)
II(L,2,N)=1.0
2 CONTINUE
1 CONTINUE
DO 3,L=1,IL
ML1L=ML1(L)
IF(ML1L.EQ.2) GO TO 3
DO 4,M=3,ML1L
DZZ=(Z(L,M-1)-Z(L,M))*AX(L,M)/AZ(L,M)
WRITE(*,*)'ML1L',ML1L
DO 5,N=1,NN(L)
DZZ=DZZ*K(L,M,N)
II(L,M,N)=II(L,M-1,N)*(COS(DZZ)+CI*Q(L,M,N)*SIN(DZZ))
WRITE(*,*)L,M,N
5 CONTINUE
4 CONTINUE
3 CONTINUE
RETURN
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.117.98.63
1F:推 janhon:sin函數 overflow 05/07 04:09
2F:→ poiuy1203:大大說的問題沒錯 但OVERFLOW是什麼意思 該如何更改呢? 05/09 00:20
3F:→ weichich:參考475篇^^" 05/09 01:27
4F:推 janhon: 好像不是Stack overflow的問題 要讓sin爆掉大概帶到nan吧 05/09 02:58
5F:→ poiuy1203:nan的意思是? 05/09 21:14
6F:→ motoman:太大或太小就會顯示NAN 我記得一般是10^300以上就爆 05/09 22:11