亚当高斯消元法解线性方程组

该程序使用亚当高斯消元法从文件中读取线性方程组并求解。用户输入文件名,程序检查文件有效性,然后读取方程组系数和常数项。如果遇到无效数据,程序会给出提示。通过dsimul子程序进行矩阵操作,包括交换行、消除和归一化,以找到解决方案。
摘要由CSDN通过智能技术生成

PROGRAM hw
IMPLICIT NONE
INTEGER,PARAMETER::DBL=SELECTED_REAL_KIND(p=13)
REAL(KIND=DBL),ALLOCATABLE,DIMENSION(:,:)::a
REAL(KIND=DBL),ALLOCATABLE,DIMENSION(:)::b
REAL(KIND=DBL),ALLOCATABLE,DIMENSION(:)::soln

INTEGER::IO_state
CHARACTER(LEN=128)::IO_msg

INTEGER::error_flag
INTEGER::i,j,n
CHARACTER(LEN=128)::file_name

    ! FILE valid?
    WRITE(*,*) 'Enter the file name'
    DO
        READ(*,*) file_name
        OPEN(UNIT=1,FILE=file_name,IOSTAT=IO_state,IOMSG=IO_msg,STATUS='OLD',ACTION='READ')
        IF(IO_state==0) EXIT
        WRITE(*,*) IO_msg
        WRITE(*,*) 'Re-enter the file name:'
    END DO

    READ(1,*) n
    ALLOCATE(a(n,n),b(n),soln(n))
    DO i=1,n
        READ(1,*,IOSTAT=IO_state)(a(i,j),j=1,n), b(i)
        data_valid:IF(IO_state/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值