sub input.for
来自「非线性回归问题SQP解法」· FOR 代码 · 共 48 行
FOR
48 行
SUBROUTINE INPUT(N,ME,MI,M,NMAX,MEMAX,MIMAX,X,VALID)
DOUBLE PRECISION X(NMAX)
CHARACTER*12 IFNAME,OFNAME
LOGICAL VALID
VALID=.TRUE.
WRITE(*,*)'NAME OF INPUT DATE FILE?'
READ(*,100) IFNAME
WRITE(*,*)'NAME OF OUTPUT FILE?'
READ(*,100) OFNAME
100 FORMAT(A)
OPEN(5,FILE=IFNAME,STATUS='OLD')
OPEN(6,FILE=OFNAME,STATUS='NEW')
WRITE (6,110) IFNAME
110 FORMAT(//'',55('*')/'','* INPUT DATE READ FROM" ',
* A12,'" *'/'',55('*'))
READ(5,*) N,ME,MI
IF (N.LE.0.OR.ME.LT.0.OR.MI.LT.0.OR.N.GT.NMAX
* .OR.ME.GT.MEMAX.OR.MI.GT.MIMAX)THEN
WRITE(6,120)
120 FORMAT('INVALID N,ME OR MI')
VALID=.FALSE.
ENDIF
M=ME+MI
DO 1 J=1,N
READ(5,*) X(J)
1 CONTINUE
WRITE (6,130) N
130 FORMAT(/'NUMBER OF VARIASLES =',I3)
WRITE(6,140) ME
140 FORMAT('NUMBER OF EQUALITY CONSTRAINTS =',I3)
WRITE(6,150) MI
150 FORMAT('NUMBER OF INEQUALITY CONSTRAINTS =',I3)
WRITE(6,160)
160 FORMAT('INTIAL POINT:')
DO 2 J=1,N
WRITE(6,170) J,X(J)
2 CONTINUE
170 FORMAT('',7X,'X(',I3,') =',F12.5)
RETURN
END
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?