列主元的高斯消元法(FORTRAN)

列主元的高斯消元法(FORTRAN)

代码如下

program Guass1
real,dimension(:,:),allocatable::arr
real,dimension(:),allocatable::x
real a
integer i,j,k,n
!输入、输出数列
write(*,*)'请输入需要计算的系数矩阵的大小n='
read*,n
allocate(arr(n,n+1))
allocate(x(n))
write(*,*)'请以列为主次序依次输入矩阵元素(系数矩阵:常系数矩阵\n'c
read*,arr
do i=1,n
    write(*,*) arr(i,:)
end do
write(*,*)'高斯消元法\n'c
!列主元的高斯消元法
do k=1,n-1 !K代表当前消元列数
    !列主元
    call compare(arr,k,n)
    do i=k+1,n !i代表行
        a=arr(i,k)/arr(k,k)
        do j=k,n+1 !j代表列
            arr(i,j)=arr(i,j)-a*arr(k,j)
        enddo
    enddo
enddo
!输出消元后矩阵    
do i=1,n
    write(*,*) arr(i,:)
end do

!回带求解过程
x(n)=arr(n,n+1)/arr(n,n)

do i=n-1,1,-1 !行
    a=0
    do j=n,i+1,-1 !列
        a=a+arr(i,j)*x(j)
    enddo
    x(i)=(arr(i,n+1)-a)/arr(i,i)
enddo

write(*,*)'\n'c, 
  • 8
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值