收藏 分享(赏)

高斯消元法Fortran90程序.doc

上传人:scg750829 文档编号:8791576 上传时间:2019-07-11 格式:DOC 页数:2 大小:27KB
下载 相关 举报
高斯消元法Fortran90程序.doc_第1页
第1页 / 共2页
高斯消元法Fortran90程序.doc_第2页
第2页 / 共2页
亲,该文档总共2页,全部预览完了,如果喜欢就下载吧!
资源描述

1、 本文末给出 Gauss-Jordan 消去法的 Fortran90 源程序。!/*! 程序:Gauss_Jordan 消去法! 过程:Gauss_Jordan(aa,b,n,sgn)! 作用:aa 为方阵,b 为 aa 的逆,n 为 aa 的阶! sgn 为标识符,1 表示求逆成功,0 表示求逆失败! 调用格式为:call Gauss_Jordan(aa,b,n,sgn)!*/subroutine Gauss_Jordan(aa,b,n,sgn)implicit noneinteger(4): n,sgnreal(8): aa(n,n),b(n,n)integer(4): i,j,kreal

2、(8),allocatable: a(:,:)real(8): tallocate(a(n,n)a=aa ! a 代替 aa 进行运算sgn=1! 初始化 b 为单位阵do i=1,ndo j=1,nif(i=j) thenb(i,j)=1elseb(i,j)=0end ifend doend do! Gauss_Jordan 消去法过程do k=1,nif(a(k,k)=0) thensgn=0;EXITend if! 化第 k 行使得 a(k,k)为 1t=1.0d0/a(k,k)do j=k,na(k,j)=a(k,j)*tend dodo j=1,nb(k,j)=b(k,j)*tend do ! 完成第 k 列的计算do i=1,nif(i/=k)thent=a(i,k)do j=k,na(i,j)=a(i,j)-a(k,j)*tend dodo j=1,nb(i,j)=b(i,j)-b(k,j)*tend doend ifend doend doend subroutine Gauss_Jordan

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 企业管理 > 管理学资料

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报