这个非常简单是我太笨 请帮忙看下 如我写有问题 请大侠帮我改写
输入DEN AC已知。 计算POR,初值PORI=0.029
公式如下:![](http://pic.muchong.com/201005/09/918750_2010509204502.jpg)
问题:只能计算一小段的POR 再往下就不能算 函数关系表达式无误
提示错误:
run-time error M6201: MATH
- **: DOMAIN error
未加粗体是该程序的头尾 固定部分,不用改写。粗体部分为我加的程序。
BLOCK DATA
IMPLICIT INTEGER*4(I-N)
INTEGER*2 NUMLOG,IZ, IDC, IZ2
Character*4 NameI,NameO,NameC
COMMON /INPC/NOI,NAMEI(2)
COMMON /OUTC/NOO,NAMEO(1)
COMMON /CONC/NOC,NAMEC(1)
COMMON /INP /AC ,DEN
COMMON /OUTP/POR
COMMON /CON /ZZ(1)
COMMON /UNIT/IU,JU,KU,LU,MU
COMMON /HD /DEP,DEPO,SDEP,EDEP,ECC,ICO(20),IWELL(20),
& NUMLOG,IZ,LOG1(20),STDEP,ENDEP,RLEV,IDC,IZ2,FEET,
& LOG2(20),IDUM1(118)
DATA IU,JU,KU,LU,MU/1,2,4,3,0/
DATA NoI,NoO,NoC/2,1,1/
DATA NAMEI/'AC ','DEN '/
DATA NAMEO/'POR '/
DATA NAMEC/'PORI'/
DATA ZZ /0.029/
END
Program MyProgram
IMPLICIT INTEGER*4(I-N)
INTEGER*2 NUMLOG,IZ, IDC, IZ2
Character*4 NameI,NameO,NameC
COMMON /INPC/NOI,NAMEI(2)
COMMON /OUTC/NOO,NAMEO(1)
COMMON /CONC/NOC,NAMEC(1)
COMMON /INP /AC ,DEN
COMMON /OUTP/POR
COMMON /CON /PORI
COMMON /INPB/BUFI(25600)
COMMON /OUTB/BUFO(25600)
COMMON /UNIT/IU,JU,KU,LU,MU
COMMON /HD /DEP,DEPO,SDEP,EDEP,ECC,ICO(20),IWELL(20),
& NUMLOG,IZ,LOG1(20),STDEP,ENDEP,RLEV,IDC,IZ2,FEET,
& LOG2(20),IDUM1(118)
CALL PART
CALL RDFLNM
CALL CONST
CALL IN
CALL OUT
1 CALL IN
AS=92414*DEN/(AC**2)
CALL WASAT(AS,PORI,POR)
CALL OUT
GOTO 1
END
SUBROUTINE WASAT(AS,PORI,POR)
9 AA=(1-PORI)**(3/(1-PORI))
AM=10.17*((1-AA)**2)
AN=AS-47.317*AA
AT=(AM/AN)-PORI
IF(ABS(AT) .LE. 0.001) THEN
POR=PORI*100
ELSE
PORI=PORI+0.002
GOTO 9
ENDIF
RETURN
END |