📄 dvm_gauss_elimination.f90
字号:
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 + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -