Fortran小问题,EXTERNAL FDIMENSION X(3),Y(3)DATA X /3*0.0/B = 2.0N=3M=10EPS=1.0E-5CALL DNMTC(X,N,B,M,EPS,F,Y)WRITE(*,*)DO 10 I=1,N10 WRITE(*,100) I,X(I)WRITE(*,*)100 FORMAT(5X,'X(',I2,1X,')=',E13.6)ENDFUNCTION F(X,N)DIMENSION X(N)F1=3*X(1)+X(2)+2*X

来源:学生作业帮助网 编辑:作业帮 时间:2024/05/02 01:24:59
Fortran小问题,EXTERNAL FDIMENSION X(3),Y(3)DATA X /3*0.0/B = 2.0N=3M=10EPS=1.0E-5CALL DNMTC(X,N,B,M,EPS,F,Y)WRITE(*,*)DO 10 I=1,N10 WRITE(*,100) I,X(I)WRITE(*,*)100 FORMAT(5X,'X(',I2,1X,')=',E13.6)ENDFUNCTION F(X,N)DIMENSION X(N)F1=3*X(1)+X(2)+2*X

Fortran小问题,EXTERNAL FDIMENSION X(3),Y(3)DATA X /3*0.0/B = 2.0N=3M=10EPS=1.0E-5CALL DNMTC(X,N,B,M,EPS,F,Y)WRITE(*,*)DO 10 I=1,N10 WRITE(*,100) I,X(I)WRITE(*,*)100 FORMAT(5X,'X(',I2,1X,')=',E13.6)ENDFUNCTION F(X,N)DIMENSION X(N)F1=3*X(1)+X(2)+2*X
Fortran小问题,
EXTERNAL F
DIMENSION X(3),Y(3)
DATA X /3*0.0/
B = 2.0
N=3
M=10
EPS=1.0E-5
CALL DNMTC(X,N,B,M,EPS,F,Y)
WRITE(*,*)
DO 10 I=1,N
10 WRITE(*,100) I,X(I)
WRITE(*,*)
100 FORMAT(5X,'X(',I2,1X,')=',E13.6)
END
FUNCTION F(X,N)
DIMENSION X(N)
F1=3*X(1)+X(2)+2*X(3)*X(3)-3.0
F2=-3*X(1)+5*X(2)*X(2)+2*X(1)*X(3)-1
F3=25*X(1)*X(2)+20*X(3)+12
F=SQRT(F1*F1+F2*F2+F3*F3)
END
SUBROUTINE DNMTC(X,N,B,M,EPS,F,Y)
DIMENSION X(N),Y(N)
DOUBLE PRECISION R
REAL NRND1
A=B
K=1
R=1.0D0
Z=F(X,N)
10 IF(A.GE.EPS) THEN
L=L+1
\x05DO 20 I=1,N
20 Y(I)=-A+2.0*A*NRND1(R)+X(I)
Z1=F(Y,N)
K=K+1
IF(Z1.GE.Z) THEN
IF(K.GE.M) THEN
\x05K=1
\x05A=A/2.0
END IF
GOTO 10
ELSE
K=1
\x05DO 30 I=1,N
30 X(I)=Y(I)
Z=Z1
IF(Z.GE.EPS) GOTO 10
END IF
END IF
END
运行后:
--------------------Configuration:DNMTC0 - Win32 Debug--------------------
Compiling Fortran...
D:\MSDev\MSDEV98\MyProjects\DNMTC0\DNMTC0.FOR
Linking...
DNMTC0.OBJ :error LNK2001:unresolved external symbol _NRND1@4
Debug/DNMTC0.exe :fatal error LNK1120:1 unresolved externals
Error executing link.exe.
DNMTC0.exe - 2 error(s),0 warning(s)

Fortran小问题,EXTERNAL FDIMENSION X(3),Y(3)DATA X /3*0.0/B = 2.0N=3M=10EPS=1.0E-5CALL DNMTC(X,N,B,M,EPS,F,Y)WRITE(*,*)DO 10 I=1,N10 WRITE(*,100) I,X(I)WRITE(*,*)100 FORMAT(5X,'X(',I2,1X,')=',E13.6)ENDFUNCTION F(X,N)DIMENSION X(N)F1=3*X(1)+X(2)+2*X
NRND1 如果是函数,请书写它.
NRND1 如果是数组,请声明它.