dvm_gauss_elimination.f90
来自「圆柱绕流问题的涡方法数值模拟(fortran源码)」· F90 代码 · 共 42 行
F90
42 行
subroutine gs(A,B,N)
implicit none
INTEGER N,i,j,k,IMAX
real ::A(N,N),B(N),M(N,N)
real temp,MAX
do K=1,N-1
MAX=ABS(A(K,K))
IMAX=K
do I=K+1,N
if(ABS(A(I,K)).GT.MAX)then
IMAX=I
MAX=ABS(A(I,K))
end if
end do
do J=1,N
M(K,J)=A(K,J)
A(K,J)=A(IMAX,J)
A(IMAX,J)=M(K,J)
end do
temp=B(K)
B(K)=B(IMAX)
B(IMAX)=temp
do I=K+1,N
M(I,K)=A(I,K)/A(K,K)
A(I,K)=0
do J=K+1,N
A(I,J)=A(I,J)-M(I,K)*A(K,J)
end do
B(I)=B(I)-M(I,K)*B(K)
end do
end do
B(N)=B(N)/A(N,N)
do K=N-1,1,-1
temp=0.0
do J=K+1,N
temp=temp+A(K,J)*B(J)
end do
B(K)=(B(K)-temp)/A(K,K)
end do
return
end subroutine
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?