| [Fortran] syntaxhighlighter_viewsource syntaxhighlighter_copycode SUBROUTINE SLBSI(A,B,D,N,MS,NX,MX)
DIMENSION A(NX,MX),B(NX),D(MX)
N1=N-1
DO K=1,N1
   C=A(K,1)
   K1=K+1
   IF((ABS(C)-0.000001).LE.0)THEN
   WRITE(6,2)K
2  FORMAT('*****SINGULARITY IN ROW',I5)
   STOP
   ELSE
   NI=K1+MS-2
   L=MIN(NI,N)
   DO J=2,MS
   D(J)=A(K,J)
   ENDDO
   DO J=K1,L
      K2=J-K+1
   A(K,K2)=A(K,K2)/C
   ENDDO
   B(K)=B(K)/C
   DO I=K1,L
   K2=I-K1+2
   C=D(K2)
   DO J=I,L
   K2=J-I+1
   K3=J-K+1
   A(I,K2)=A(I,K2)-C*A(K,K3)
   ENDDO
   B(I)=B(I)-C*B(K)
   ENDDO
ENDIF
ENDDO
IF((ABS(A(N,1))-0.000001).LE.0)THEN
WRITE(6,7)K
7     FORMAT('*****SINGULARITY IN ROW',I5)
STOP
ELSE
B(N)=B(N)/A(N,1)
DO I=1,N1
   K=N-I
   K1=K+1
   NI=K1+MS-2
   L=MIN(NI,N)
   DO J=K1,L
   K2=J-K+1
   B(K)=B(K)-A(K,K2)*B(J)
   ENDDO
ENDDO
ENDIF
RETURN
END
 
 
 一个解线性方程组的程序,不知道有没有大神有空帮我看看,这是一个有限元的子程序,整个程序已经可以计算,但是结果就是不对,是一个 解二维等带宽矩阵的程序吧,数学学得不行
 
 
 
 |