[Fortran] 纯文本查看 复制代码 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
一个解线性方程组的程序,不知道有没有大神有空帮我看看,这是一个有限元的子程序,整个程序已经可以计算,但是结果就是不对,是一个 解二维等带宽矩阵的程序吧,数学学得不行
|