fortran语言解n元线性方程组

时间:2022-04-16 08:00:03 阅读: 最新文章 文档下载
说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。
PROGRAM MAIN

IMPLICIT NONE INTEGER I,J,K,N REAL:: SUM=0

REAL,ALLOCATABLE::A(:,:)

REAL,ALLOCATABLE::B(:)

REAL,ALLOCATABLE::X(:) PRINT*,'请输入方程组未知数个数' READ*,N

ALLOCATE(A(N,N+1))

ALLOCATE(B(N+1))

ALLOCATE(X(N))

PRINT*,'请按列输入方程组的系数和列向量b(即输入增广矩阵A)' READ*,A DO K=1,N-1

DO WHILE(A(K,K)==0) B(:)=A(K,:) DO I=K,N-1 A(I,:)=A(I+1,:) END DO A(N,:)=B(:) END DO






DO I=K+1,N



A(I,:)=A(I,:)-A(I,K)/A(K,K)*A(K,:)

END DO

END DO

X(N)=A(N,N+1)/A(N,N) DO I=N-1,1,-1

DO J=I+1,N





SUM=SUM+A(I,J)*X(J)

END DO



X(I)=(A(I,N+1)-SUM)/A(I,I)

SUM=0

END DO PRINT*,X

END

用其他语言编写的话,算法是一样的,只是要改一下其中的循环结构


本文来源:https://www.wddqw.com/doc/81f009acbfeb19e8b8f67c1cfad6195f312be801.html