| 
 | 
 
出现这样的错误,修改思路是啥 
Error: The same named entity from different modules and/or program units cannot be referenced.   [SXYZ] 
   SXYZ(1,0,j)=-15+1*J 
---^ 
Error: This name has already been used as an external function name.   [SXYZ] 
   SXYZ(1,0,j)=-15+1*J 
---^ 
Error: This function, which is specified as the left side of an assignment statement, is invalid.   [SXYZ] 
   SXYZ(1,0,j)=-15+1*J 
这是程序的一部分。 
[Fortran] syntaxhighlighter_viewsource syntaxhighlighter_copycode 
!主程序
program MAIN
use     NUMERICAL
use     CONSTANT
USE     VARIABLE
USE     IMSL
IMPLICIT NONE
external FCN
                                      !!!主程序出现的变量        
real :: a=20.0                          !牛顿迭代求波数时的初始值        
INTEGER IDO ,ISTEP,NOUT,PSTEP2
real*8  TOL,PARAM(MXPARM),Y(N),TEND,T
INTEGER  I,J, K
  !浮子浮标坐标划分
    zxyz(1,0)=-15
    zxyz(2,0)=0.0
    zxyz(3,0)=0.0
    zxyz(1,22)=15
    zxyz(2,22)=0.0
    zxyz(3,22)=0.0
    do i=1,21
       zxyz(1,i)=-10+1*(i-1)
       zxyz(2,i)=0
       zxyz(3,i)=0
    end do
     ! 梗绳单元划分
    
   do J=1,4
   SXYZ(1,0,j)=-15+1*J
   SXYZ(2,0,j)=0
   SXYZ(3,0,j)=0
   SXYZ(1,0,5)=zxyz(1,1)
   SXYZ(1,0,0)=zxyz(1,0)
   SXYZ(2,0,5)=zxyz(2,1)
   SXYZ(2,0,0)=zxyz(2,0)
   SXYZ(3,0,5)=zxyz(3,1)
   SXYZ(3,0,0)=zxyz(3,0)
end do
   
   do I=1,20 
   do J=1,4
      sxyz(1,i,j)=-10+1*(I-1)+0.2*J
      sxyz(2,i,j)=0
      sxyz(3,i,j)=0
      sxyz(1,i,5)=zxyz(1,i+1)
      sxyz(1,i,0)=zxyz(1,i)
      sxyz(2,i,5)=zxyz(2,i+1)
      sxyz(2,i,0)=zxyz(2,i)
      sxyz(3,i,5)=zxyz(3,i+1)
      sxyz(3,i,0)=zxyz(3,i)
   end do
   end do
I=21
do J=1,4
   sxyz(1,i,j)=-10+1*(I-1)+1*J
   sxyz(2,i,j)=0
   sxyz(3,i,j)=0
   sxyz(1,i,5)=zxyz(1,i+1)
   sxyz(1,i,0)=zxyz(1,i)
   sxyz(2,i,5)=zxyz(2,i+1)
   sxyz(2,i,0)=zxyz(2,i)
   sxyz(3,i,5)=zxyz(3,i+1)
   sxyz(3,i,0)=zxyz(3,i)
end do 
 |   
 
 
 
 |