fname=程序设计实践

fname=程序设计实践

ID:40529094

大小:104.00 KB

页数:13页

时间:2019-08-04

fname=程序设计实践_第1页
fname=程序设计实践_第2页
fname=程序设计实践_第3页
fname=程序设计实践_第4页
fname=程序设计实践_第5页
资源描述:

《fname=程序设计实践》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、其中的aij是变量xj在第i行的系数,b1,b2…,bm等等是已知的常数,而x1,x2,…,xn等等则是要求的未知数。用线性代数来描述的话,则线性方程组可以写成:AX=B这里的A是m×n矩阵,为方程组的系数矩阵,X是由n未知数构成的列向量,是列向量,B是含有m个常数列向量。现在要解决的问题是在已知矩阵Am×n和向量Bm×1的情况求得未知向量X的值。如果有一组数x1、x2、……xn使得方程组两边的等号都成立,那么这组数就叫做方程组的解。一个线性方程组的所有的解的集合会被简称为解集。根据解的存在情况,线性

2、方程组可以分为三类:·有唯一解的恰定方程组。·解不存在的超定方程组。·有无穷多解的欠定方程组(也被通俗地称为不定方程组)。下面按照线性代数的形式,分别用前面所说的三种方法,用FORTRAN语言来实现线性方程的求解。5.2.1高斯消去法高斯消去法实际上就是我们俗称的加减消元法,因著名的数学家高斯和约当得名,它是线性代数中的一个算法,用于决定线性方程组的解,决定矩阵的秩,以及决定可逆方矩阵的逆。当用于一个矩阵时,高斯消去产生“行消去梯形形式”,是一种比较古老的方法,大家在初中数学学习中就接触到了。1.算法

3、原理首先,将前面所述的线性方程组的系数矩阵Am×n和常数矩阵B拼成一个增广矩阵,不妨记为Z,形式如下:为了描述方便,在每个变量上加一个上标(i),代表高斯消去法的第i步矩阵中各个数据的值。原始方程组中i=0,因此,增广矩阵Z改写为:13假设m≤n,高斯消去法计算过程如下:(1)从a11开始,通过矩阵的初等变换,将第一列的其他元素变为0;(2)再从新的a22开始重复(1)的过程;(3)以此类推,最多通过m步,最终将增广矩阵变为如下形式:其中,主对角线左面的值都为0。(4)从amm开始,到a22利用矩阵的

4、初等变换,将增广矩阵中第m列到第二列其他元素变为0;(5)每行除以主对角线上的元素,即将对角线上的元素变为1;(6)B列数据即为方程组的解。当m=n且方程组有唯一解时,高斯消去法能很好的求出方程的解。2.程序代码(1)高斯消去法模块:其中:A(N,N)系数矩阵b(N)右向量N方程维数x方程的根modulegausscontainssubroutinesolve(A,b,x,N)implicitreal*8(a-z)integer::i,k,Nreal*8::A(N,N),b(N),x(N)real*8

5、::Aup(N,N),bup(N)!Ab为增广矩阵[Ab]real*8::Ab(N,N+1)Ab(1:N,1:N)=AAb(:,N+1)=b!这段是高斯消去法的核心部分dok=1,N-1doi=k+1,Ntemp=Ab(i,k)/Ab(k,k)Ab(i,:)=Ab(i,:)-temp*Ab(k,:)13enddoenddo!经过上一步,增广矩阵已经化为每行主对角线左面的数据都为0的形式。Aup(:,:)=Ab(1:N,1:N)bup(:)=Ab(:,N+1)!调用用上三角方程组的回带方法callupt

6、ri(Aup,bup,x,n)endsubroutinesolvesubroutineuptri(A,b,x,N)implicitreal*8(a-z)integer::i,j,Nreal*8::A(N,N),b(N),x(N)x(N)=b(N)/A(N,N)!回带部分doi=n-1,1,-1x(i)=b(i)doj=i+1,Nx(i)=x(i)-a(i,j)*x(j)enddox(i)=x(i)/A(i,i)enddoendsubroutineuptriendmodulegauss!主程序progr

7、ammainusegaussimplicitreal*8(a-z)integer,parameter::N=4integer::i,jreal*8::A(N,N),b(N),x(N)!系数矩阵数据存放在h:fsfin.txt中。open(unit=11,file='h:fsfin.txt')!结果存放在h:jgfout.txt中open(unit=12,file='h:jgfout.txt')read(11,*)!读入A矩阵read(11,*)((A(i,j),j=1,N),i=1,N

8、)!读入B向量read(11,*)bcallsolve(A,b,x,N)write(12,101)x101format(T5,'高斯消去法计算结果',/,T4,'x=',4(/F12.8))print*,b!在屏幕上显示方程的跟。endprogrammain133.运算实例5.2.2选主元消去法1.算法原理上小节所述的高斯消去法比较简单,但在计算过程中,如果出现下列两种情况:(1)主元为0,算法就没办法继续下去;(2)主元绝对值很小,如小于10-15,以

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。