Gauss列主元消去法

合集下载

Gauss列主元素消去法实验

Gauss列主元素消去法实验

Lab06.Gauss 列主元素消去法实验【实验目的和要求】1.使学生深入理解并掌握Gauss 消去法和Gauss 列主元素消去法步骤; 2.通过对Gauss 消去法和Gauss 列主元素消去法的程序设计,以提高学生程序设计的能力;3.对具体问题,分别用Gauss 消去法和Gauss 列主元素消去法求解。

通过对结果的分析比较,使学生感受Gauss 列主元素消去法优点。

【实验内容】1.根据Matlab 语言特点,描述Gauss 消去法和Gauss 列主元素消去法步骤。

2.编写用不选主元的直接三角分解法解线性方程组Ax=b 的M 文件。

要求输出Ax=b 中矩阵A 及向量b ,A=LU 分解的L 与U ,det A 及解向量x 。

3.编写用Gauss 列主元素消去法解线性方程组Ax=b 的M 文件。

要求输出Ax=b 中矩阵A 及向量b 、PA=LU 分解的L 与U 、det A 及解向量x ,交换顺序。

4.给定方程组(1) ⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡=⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡--11134.981.4987.023.116.427.199.103.601.3321x x x(2) ⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎣⎡=⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎣⎡⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎣⎡----15900001.582012151********.23107104321x x x x 先用编写的程序计算,再将(1)中的系数3.01改为3.00,0.987改为0.990;将(2)中的系数2.099999改为2.1,5.900001改为9.5,再用Gauss 列主元素消去法解,并将两次计算的结果进行比较。

【实验仪器与软件】1.CPU 主频在1GHz 以上,内存在128Mb 以上的PC ;2.Matlab 6.0及以上版本。

实验讲评:实验成绩:评阅教师:200 年 月 日Lab06.Gauss 列主元素消去法实验第一题:1、算法描述:Ⅰ、Gauss 消去法由书上定理5可知 设Ax=b ,其中A ∈R^(n(1)如果()0(1,2,....,1)k kka k n ≠=-,则可通过高斯消去法将Ax=b 约化为等价的 角形线性方程组,且计算公式为:① 消元计算(k=1,2,….,n-1)()()(1)()()(1)()()/,1,...,,,,1,...,,,1,...,.k k ik ik kk k k k ij ij ik kj k k k iiik k m a a i k n a a m a i j k n b b m b i k n ++==+=-=+=-=+② 回带公式()()()()()1/,()/,1,...,2,1.n n n n nn ni i i i iii j ii j i x b a x ba x a i n =+==-=-∑(2)如果A 为非奇异矩阵,则可通过高斯消去法将方程组Ax=b 约化方程组为上三角矩阵以上消元和回代过程总的乘除法次数为332333nn nn +-≈,加减法次数为32353263nnn n+-≈以上过程就叫高斯消去法。

Gauss列主元消去法、QR(MATLAB)

Gauss列主元消去法、QR(MATLAB)

Gauss列主元消去法、QR(MATLAB)Gauss列主元消去法是一种线性方程组的求解方法,也称Gauss消去法。

其基本思想是将方程组转化为上三角矩阵,然后通过反向代入求解。

该方法的优点在于计算精度高,求解速度快,但缺点是需要大量的计算,尤其是在矩阵阶数较高时。

具体来讲,Gauss列主元消去法的步骤如下:步骤一:将系数矩阵A进行LU分解,其中L是下三角矩阵、U是上三角矩阵。

设$A=LU$,则原方程组可以写成$LUx=b$。

步骤二:通过初等矩阵左乘系数矩阵A,将每一列的主元变为该列所有元素中绝对值最大的那个元素。

这个过程称为选主元,可以避免计算中的数值不稳定问题。

步骤三:将选主元后的系数矩阵A进行LU分解,得到$L^{'}$、$U^{'}$。

步骤五:通过反向代入求解$U^{'}x=y$,得到$x$的解。

Gauss列主元消去法的实现通常通过矩阵的变换来实现。

对于$n$阶矩阵$A=[a_{ij}]$,通过一系列的行变换,可以将其变为上三角矩阵。

其中的变换可以表示为:$$ R_{i} \leftrightarrow R_{j} $$其中,$R_{i}$和$R_{j}$分别表示矩阵$A$中的第$i$行和第$j$行,$k$是一个非零常数。

这些变换被称为初等行变换。

在MATLAB中,可以使用已经实现好的{\color{blue}\texttt{gauss}}函数来求解线性方程组。

该函数实现的算法是Gauss列主元消去法。

其调用格式为:x = gauss(A,b)其中,$A$是系数矩阵,$b$是结果向量。

函数返回结果向量$x$。

如果$A$或$b$不合法,则函数会返回一个空向量。

除了Gauss列主元消去法,还有一种常用的求解线性方程组的方法是QR分解法。

步骤二:通过正交矩阵左乘系数矩阵$A$,使其变为一个上三角矩阵。

这个过程称为正交相似变换。

步骤三:将$b$进行正交相似变换,得到$Q^{T}b$。

高斯列主元消去法

高斯列主元消去法

如果在高斯顺序消去法消去过程进行到第i 步时,现选取ri a )(n r i ≤≤中绝对值最大的元素,设为第j 行的元素ji a ,把矩阵的第i 行和第j 行互换,这时ii a 变为ji a ,然后将第i+1行至第n 行中的每一行减去第i 行乘以ii ki a a (k 代表行号),依次进行消元。

Gauss 列主元消去法的算法步骤如下:将方程组写成以下的增广矩阵的形式:⎪⎩⎪⎪⎨⎧43212423222114131211............n n n n a a a a a a a a a a a a对k=1,2,3,...,n-1,令∑==nks sk pk a a max ;交换增广矩阵的第k 行与第p 行;对j=k+1,k+2,...,n,计算kk jkkm jm jm a a a a a ⋅-=(m=看,k+1,...,n )kk jkk j j a a b b b ⋅-=算法结束。

三角分解法程序如下:建立相应的M 文件,其函数名为LU,程序如下:function y=LU(A,B);n=length(A);A=[A B];for k=1:n-1;for i=k:n;if (abs(A(i,k))==max(abs(A(k:n,k)))) P(k)=i;temp=A(k,:);A(k,:)=A(i,:);A(i,:)=temp;endendfor j=k+1:n;A(j,k)=A(j,k)/A(k,k);A(j,k+1:n+1)=A(j,k+1:n+1)-A(j,k)*A(k,k+1:n+1);endendP(n)=n;L(1,1)=1;L(2:n,1)=A(2:n,1);L(1,2:n)=0;U(1,1)=A(1,1);U(2:n,1)=0;U(1,2:n)=A(1,2:n);for i=2:n;L(i,1:i-1)=A(i,1:i-1);L(i,i)=1;L(i,i+1:n)=0;U(i,1:i-1)=0;U(i,i:n)=A(i,i:n);endx(n) = A(n,n+1)/U(n,n);for k = n-1:-1:1x(k)=A(k,n+1);for p=n:-1:k+1;x(k) = x(k)-U(k,p)*x(p); endx(k)=x(k)/U(k,k);endxLUPend在程序命令行输入:a=[0.101 2.304 1.5355;-1.347 3.712 4.623;-2.835 1.072 5.643];b=[1.183,2.137,3.035]';LU(a,b)运行结果为:x =3.1160 -1.1960 2.3305 L =1.0000 0 00.4751 1.0000 0-0.0356 0.7313 1.0000 U =-2.8350 1.0720 5.64300 3.2027 1.94180 0 0.3359 P =3 2 3。

2-2 Gauss列主元消去法

2-2 Gauss列主元消去法

S2 若ann 0,则输出“ A是奇异矩阵”;停机 . S3 置xn an,n1 / ann ;
对i n 1, n 2,...1,
ai,n1 n aij x j
置xi
j i 1
aii
S4 输出x1, x2,..., xn ;停机.
作业:
P50 习题3
k in
aik
;
S12 若aik ,k 0,则输出“ A是奇异矩阵”;停机 .
S13 若ik k,则
akj aik , j j k,...,n 1;
S14 对i k 1,..., n
置aik aik / akk ; 对j k 1,..., n 1
置aij aij aik akj.
§2-2 Gauss列主元消去法
一、Gauss列主元消去法的引入 例1. 用3位浮点数运算,求解线性方程组
0.0001xx11
x2 x2
1 2
解: 本方程组的精度较高的解为
x* (1.00010001 ,0.99989999 )T
用Gauss消去法求解
A ( A,b)
0.000100 1
1 1
21
0.000100
m2110 000
0
回代后得到
1
1
1.00 104 1.00 104
x1 0.00 , x2 1.00
与精确解相比,该结果显然是错误的 究其原因,在求行乘数时用了很小的数0.0001作除数
如果在求解时将1,2行交换,即
A ( A,b)
1 0.000100
1 1
a(2) i2
,
交换第2行和第i2行,
2in
然后进行消元,得[ A(3) , b(3) ].

列主元素Gauss消去法Jacobi迭代法原理及计算方法

列主元素Gauss消去法Jacobi迭代法原理及计算方法

一、 列主元素Gauss 消去法、Jacobi 迭代法原理及计算方法1. 列主元素Gauss 消去法:1.1 Gauss 消去法基本原理设有方程组Ax b =,设A 是可逆矩阵。

高斯消去法的基本思想就是将矩阵的初等行变换作用于方程组的增广矩阵[]B A b = ,将其中的A 变换成一个上三角矩阵,然后求解这个三角形方程组。

1.2 列主元Gauss 消去法计算步骤将方程组用增广矩阵[]()(1)ijn n B A b a ⨯+== 表示。

1). 消元过程对1,2,,1k n =-(1) 选主元,找{},1,,k i k k n ∈+ 使得 ,max k i k ik k i na a ≤≤= (2) 如果,0k i k a =,则矩阵A 奇异,程序结束;否则执行(3)。

(3) 如果k i k ≠,则交换第k 行与第k i 行对应元素位置,k kj i j a a ↔,,,1j k n =+ 。

(4) 消元,对,,i k n = ,计算/,ik ik kk l a a =对1,,1j k n =++ ,计算.ij ij ik kj a a l a =-2). 回代过程(1) 若0,nn a =则矩阵奇异,程序结束;否则执行(2)。

(2) ,1/;n n n nn x a a +=对1,,2,1i n =- ,计算,11/n i i n ij j ii j i x a a x a +=+⎛⎫=- ⎪⎝⎭∑2. Jacobi 迭代法2.1 Jacobi 迭代法基本原理Jacobi 迭代法的基本思想是对n 元线性方程组b Ax =,.,n n R b R A ∈∈将其变形为等价方程组f Bx x +=,其中.,,n n n n R x R f R B ∈∈∈⨯B 成为迭代矩阵。

从某一取定的初始向量)0(x 出发,按照一个适当的迭代公式 ,逐次计算出向量f Bx x k k +=+)()1( ( 1,0=k ),使得向量序列}{)(k x 收敛于方程组的精确解.(1)输入1,,,,)0(=k n xb A ε,. (2) )(1,1)0()1(∑≠=-=n j i i j ij i iii x a b a x )1,0(n i = (3)判断 ε≤--≤≤)0()1(10max i i n i x x ,若是,输出1)1(2)1(1,,n x x x ,若否,置1+=k k ,)1()0(i i x x =,)2,1(n i =。

数值分析4 高斯主元素消去法

数值分析4 高斯主元素消去法

§2高斯主元素消去法⎪⎩⎪⎨⎧=++-=++=++00.357.404.100.200.224.563.200.100.100.200.10120.0321321321x x x x x x x x x 解:clear alla=[0.0120 1.00 2.00;1.00 2.63 5.24;-2.00 1.04 4.57]; b=[1.00;2.00;3.00];x=a\b方程组的三位有效数字的解:Tx )266.0,476.0,645.0(*-=Gauss 消去法求解(取三位有效数字):[]⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡---−−→−⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡------−−−→−⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡-==-==00.300.5003.811627.80000.100.200.10120.016432916603.811627.80000.100.200.10120.000.357.404.100.200.224.563.200.100.100.200.10120.006.21673.83323121l l l b A 解出Tx )60.0,197.0,25.0(--≈。

【注】1)设Ax=b,其中A 为n 阶非奇异矩阵,可以应用高斯消元法。

2)消元过程中,即使0)(≠k kk a ,用其作除数)/()()(k kk k ik ik a a l =会导致计算中间结果数量级严重增长和舍入误差的累积、扩大,最后使得计算结果不可靠。

3)应避免采用绝对值很小的主元素)(k kk a ;对一般的系数矩阵,最好保持乘数1≤ik l ,因此,在高斯消去法中应引进选主元技巧,以便减少计算过程中舍入误差对求解的影响。

clear alla=[0.0120 1.00 2.00;1.00 2.63 5.24;-2.00 1.04 4.57]; b=[1.00;2.00;3.00];x_value=vpa(a\b,15)%10位有效数字的近似解a=[a,b];eps=1e-6;[n,m]=size(a);Gauss,x=vpa(x,15) %对比高斯消去法的结果一、列主元素消去法基本思想:在每轮消元之前,选列主元素(绝对值最大的元素),使乘数(即消元因子)1≤ik l步骤:设已进行k-1轮消元,得矩阵⎥⎥⎥⎥⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎢⎢⎢⎢⎣⎡=)()()()()2(2)2(2)2(22)1(1)1(1)1(12)1(11)(k nn k nkk kn k kkn kn kk a a a a a a a a a a a A一落千丈 1 23S1:选列主元素: )()(0max k ik ni k k k i a a ≤≤= (1)S2:换行:如果)(0k k i a →0,则方程组解不唯一,停止运算; 否则,如果i0=k , 则可进行下一轮消元;如果k i ≠0,则r i0 r k ,然后进行下一轮消元。

高斯列主元消元法解线性方程组

高斯列主元消元法解线性方程组

高斯列主元消元法解线性方程组一、题目:用Gauss 列主元消去法解线性方程组Ax b =,其中,A=17.031 -0.615 -2.991 1.007 -1.006 0.000-1.000 34.211 -1.000 -2.100 0.300 -1.7000.000 0.500 13.000 -0.500 1.000 -1.5004.501 3.110 -3.907 -61.705 12.170 8.9990.101 -8.012 -0.017 -0.910 4.918 0.1001.000 2.000 3.000 4.500 5.000 21.803⎛⎫ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪⎝⎭ 0.230 -52.322 54.000 240.236 29.304 -117.818b ⎛⎫ ⎪ ⎪ ⎪= ⎪ ⎪ ⎪ ⎪ ⎪⎝⎭T X=(0.907099 -1.961798 3.293738 -4.500708 3.029344 -5.255068)二、原理及步骤分析设nn ij R a A ⨯∈=][)1(,nn Rb b b b ∈=],,,[)1()2(2)1(1 。

若约化主元素),,2,1(0)(n k a k kk =≠,则通过高斯消元法将方程b AX =约化为三角形方程组求解。

如果在消元过程中发现某个约化主元0)(=k kk a , 则第K 次消元就无法进行。

此外,即使所有约化主元全不为零,虽然可以完成方程组的求解,但也无法保证结果的可靠性,因为计算过程中存在舍入误差。

为减少计算过程中的舍入误差对解的影响,在每次消元前,应先选择绝对值尽可能大的元作为约元的主元,如果在子块的第一列中选取主元,则相应方法称为列主元消元法。

相应过程为:(1)选主元:在子块的第一列中选择一个元)(k k i k a 使)(max k ik ni k kk i a a k ≤≤=并将第k 行元与第k i 行元互换。

课件:5.2(b) Gauss列主元消去法

课件:5.2(b) Gauss列主元消去法

L L11L21 Ln11为单位下三角矩阵 U A(n)为上三角矩阵
即 且
1
1,1 ln,1
ln1,2 ln,2
ln1,2 ln,3
1 ln,n1
1
a(1) 11
U A(n)
a(1) 12
a(2) 22
a(1) 1n
a(2) 2n
a(n) nn
1 2 3
解: 这个方程组和例1一样,若用Gauss消去法计算会有 小数作除数的现象,若采用换行的技巧,则可避免
108
A (A,b) 1
2
2
3 1
3.712 4.623 2
1.072
5.64
3
3
108 很小,绝对值最大
的列元素为a13 2, 因此1,3行交换
r1 r3
2 1
例2所用的方法是在Gauss消去法的基础上,利用换行 避免小主元作除数,该方法称为Gauss列主元消去法
二、Gauss消元过程与系数矩阵的分解 1.Gauss消去法消元过程的矩阵描述
( A(1) ,b(1) )
a(1) 11
a(1) 21
a(1) 12
a(1) 22
a(1) 1n
a(1) 2n
主元
A (A,b)
0.000100 1
1 1
1 2
l21 10000
0.000100 0
1 1.00 104
1 1.00 104
回代后得到
x1 0.00 , x2 1.00
与精确解相比,该结果相当糟糕 究其原因,在求乘数时用了很小的数0.0001作除数
如果在求解时将1,2行交换,即
A (A,b)
det Ak 0 k 1,2,, n

gauss列主元素消去法matlab

gauss列主元素消去法matlab

高斯列主元素消去法是一种解线性方程组的常用方法,特别在数值分析和线性代数中应用广泛。

在Matlab中,我们可以使用该方法来解决大规模的线性方程组,包括矩阵的求解和矩阵的反转。

一、高斯列主元素消去法的基本原理高斯列主元素消去法是一种基于矩阵消元的方法,它通过一系列的矩阵变换将原始的线性方程组转化为上三角形式,然后再进行回代求解。

这个方法的核心就是通过矩阵的变换来简化原始的线性方程组,使得求解过程更加简单高效。

在Matlab中,我们可以利用矩阵运算和函数来实现高斯列主元素消去法,如`lu`分解函数和`\"`运算符等。

通过这些工具,我们能够快速地求解各种规模的线性方程组并得到准确的结果。

二、高斯列主元素消去法在Matlab中的实现在Matlab中,我们可以通过调用`lu`函数来实现高斯列主元素消去法。

该函数返回一个上三角矩阵U和一个置换矩阵P,使得PA=LU。

通过对U进行回代求解,我们可以得到线性方程组的解。

除了`lu`函数之外,Matlab还提供了一些其他的函数和工具来帮助我们实现高斯列主元素消去法,比如`\"`运算符和`inv`函数等。

通过这些工具的组合使用,我们能够更加灵活地进行线性方程组的求解,并且可以方便地处理特殊情况和边界条件。

三、高斯列主元素消去法的应用与局限性高斯列主元素消去法在实际应用中具有广泛的适用性,特别是对于大规模的线性方程组或者稀疏矩阵的求解。

通过Matlab中的工具和函数,我们可以快速地求解各种规模的线性方程组,并得到高精度的数值解。

然而,高斯列主元素消去法也存在一些局限性,比如对于奇异矩阵或者接近奇异矩阵的情况时,该方法的求解精度可能会下降。

在实际应用中,我们需要结合具体的问题和矩阵特性来选择合适的求解方法,以确保得到准确的结果。

四、个人观点和总结作为一种经典的线性方程组求解方法,高斯列主元素消去法在Matlab 中具有较好的实现和应用效果。

通过对其原理和实现细节的深入理解,我们能够更加灵活地应用该方法,并且能够更好地理解其适用性和局限性。

列主元高斯消去法

列主元高斯消去法

列主元高斯消去法简介
【示例范文仅供参考】
---------------------------------------------------------------------- 列主元素消去法是为控制舍入误差而提出来的一种算法,列主元素消去法计算基本上能控制舍入误差的影响。

其基本思想是:在进行第k(k=1,2,...,n-1)步消元时,从第k列的akk 及其以下的各元素中选取绝对值最大的元素,然后通过行变换将它交换到主元素akk的位置上,再进行消元。

列主元消去法仅需矩阵行的交换,因此不发生未知数排列次序的调换。

而全主元消去法则要花费相当多的时间选取主元,且还需记录系数矩阵列交换信息。

其原理是在高斯消去法的消元过程中第k步要求除以akk,为了防止除数为零或除数太小造成的误差过大的问题,在消元开始是先将该列最大元(绝对值)所在行移到消元第一行在除akk,然后消元。

列主元消去法虽然和高斯消去法原理一样,但是列主元消去法可以减小舍入误差,精度比较高,是解决小型稠密矩阵的一个较好的算法。

而高斯消去法虽然编程简单,但是计算量大,而且对于两个相近的解时由于舍入误差的存在,使得结果误差很大。

数值计算基础Gauss列选主元消去法及追赶法

数值计算基础Gauss列选主元消去法及追赶法

1、用Guass列选主元消去法求解方程组源程序代码:#include<stdio.h>#include<stdlib.h>#include<math.h>#define MAX_n 100#define PRECISION 0.0000001void MatrixInput(float A[][MAX_n],int m,int n)//输入数组{int i,j;float ftmp;printf("\n===Begin input Matrix elements===\n");for(i=1;i<=m;++i){printf("Input_Line %d : ",i);for(j=1;j<=n;++j){scanf("%f",&ftmp);A[i][j]=ftmp;}}}void MatrixOneColumnOutput(float A[][MAX_n],int n,int k)//输出方程的解{int i;for(i=1;i<=n;++i)printf("\nx[%d]=%f",i,A[i][k]);}int UpTriangle(float U[][MAX_n],int n)//解上三角方程组{int i,j;for(i=n;i>0;--i){if(fabs(U[i][i])<PRECISION)return 1;for(j=i+1;j<=n;++j)U[i][n+1]-=U[i][j]*U[j][n+1];U[i][n+1]/=U[i][i];}return 0;}void Swap(float *a,float *b)//a,b二个变量中的值交换{float ftmp;ftmp=*a;*a=*b;*b=ftmp;}int GaussElimination_column_select(float A[][MAX_n],int n)//选主元{ int i,j,k;float fTmp;for(i=1;i<n;++i){ //找主元所在行for(k=i,j=i+1;j<=n;++j)if(fabs(A[j][i])>fabs(A[k][i])) k=j;//二行交换for(j=i;j<=n+1;++j)Swap(&A[i][j],&A[k][j]);//消元if(fabs(A[i][i])<PRECISION)return 1;for(j=i+1;j<=n;++j)for(k=i+1;k<=n+1;++k)A[j][k]-=A[i][k]*A[j][i]/A[i][i];}UpTriangle(A,n);return 0;}void main(){int n;float A[MAX_n][MAX_n];printf("Input n=");scanf("%d",&n);if(n>=MAX_n-1){printf("\an must <%d!\n",MAX_n);exit(0);}MatrixInput(A,n,n+1);if(GaussElimination_column_select(A,n)) printf("\nGauss Failed!");else{printf("\nOutput Solution:");MatrixOneColumnOutput(A,n,n+1);printf("\n\n");}}运行结果:2、用追赶法求解方程组#include<stdio.h>#include<math.h>double ZhuiGanFa(double a[],double b[],double c[],double d[],int n); void main(){int n,i;double a[10],b[10],c[10],d[10];printf("Input n value:");/*表示n维向量*/scanf("%d",&n);printf("\n");printf("Now input the (a_i),i=1,2,…,%d: ",n-1);for(i=0;i<=n-2;i++)scanf("%lf",&a[i]);printf("Now input the (b_i),i=1,2,…,%d: ",n);for(i=0;i<=n-1;i++)scanf("%lf",&b[i]);printf("Now input the (c_i),i=1,2,…,%d: ",n-1);for(i=0;i<=n-2;i++)scanf("%lf",&c[i]);printf("Now input the (d_i),i=1,2,…,%d: ",n);for(i=0;i<=n-1;i++)scanf("%lf",&d[i]);ZhuiGanFa(a,b,c,d,n);}double ZhuiGanFa(double a[],double b[],double c[],double d[],int n) {int i;double t;if(fabs(b[0])<=fabs(c[0])||fabs(c[0])<=0||fabs(b[n-1])<fabs(a[n-2])||fabs(a[n-2])<=0)/*判断是否符合追赶法条件*/{printf("fail\n");return 0;}for(i=1;i<=n-2;i++){if(fabs(b[i])<(fabs(a[i])+fabs(c[i]))||a[i]*c[i]==0){printf("fail\n");return 0;}}c[0]=c[0]/b[0];d[0]=d[0]/b[0];for(i=1;i<=n-2;i++){t=b[i]-a[i-1]*c[i-1];c[i]=c[i]/t;d[i]=(d[i]-a[i-1]*d[i-1])/t;}d[n-1]=(d[n-1]-a[n-2]*d[n-2])/(b[n-1]-a[n-2]*c[n-2]);for(i=n-2;i>=0;i--)d[i]=d[i]-c[i]*d[i+1];printf("\n");for(i=0;i<=n-1;i++)printf("x(%d)=%f\n",i,d[i]);printf("\n");return 1;}运行结果1:运行结果2:。

实验二:Gauss列主元消去法

实验二:Gauss列主元消去法

实验二:Gauss列主元消去法程序1:Gauss列主元消去法A=input('请输入线性方程组的增广矩阵A=');n=length(A)-1;x=zeros(n,1);aa=zeros(n,1);for j=1:nfor i=1:(n+1)AA(j,i)=abs(A(j,i));endendfor k=1:(n-1)for i=k:naa(i-(k-1))=AA(i,k);endfor i=k:nif AA(i,k)==max(aa)breakendendif AA(i,k)==0breakfprintf('方程组系数矩阵奇异\n');elsefor j=k:(n+1)jh=A(i,j);A(i,j)=A(k,j);A(k,j)=jh;endendfenzi=A(k,k);for j=k:(n+1)A(k,j)=A(k,j)/fenzi;endfor p=(k+1):njj=A(p,k);for j=k:(n+1)A(p,j)=A(p,j)-jj*A(k,j);endendendif k==(n-1)x(n)=A(n,(n+1))/A(n,n);for i=(n-1):(-1):1he=0;for j=(i+1):nhe=he+A(i,j)*x(j);endx(i)=A(i,(n+1))-he;endendx用Gauss列主元消去法解方程组:1.请输入线性方程组的增广矩阵A=[1e-008,2,3,1;-1,3.172,4.623,2;-2,1.072,5. 643,3]x =-0.4653-0.07000.38002.请输入线性方程组的增广矩阵A=[4,-2,4,10;-2,17,10,3;-4,10,9,-7];x =2.94640.6071-0.14293.请输入线性方程组的增广矩阵A=[0.3e-020,1,0.7;1,1,0.9]x =0.20000.7000程序2:不选主元的高斯消去法A=input('请输入线性方程组的增广矩阵A=');n=length(A)-1;x=zeros(n,1);for k=1:(n-1)if A(k,k)==0breakfprintf('方程组不能用普通的高斯消去法解\n');elsefenzi=A(k,k);for j=k:(n+1)A(k,j)=A(k,j)/fenzi;endfor p=(k+1):njj=A(p,k);for j=k:(n+1)A(p,j)=A(p,j)-jj*A(k,j);endendx(n)=A(n,(n+1))/A(n,n);for i=(n-1):(-1):1he=0;for j=(i+1):nhe=he+A(i,j)*x(j);endx(i)=A(i,(n+1))-he;endendendx用不选主元的Gauss消去法解方程组:1.请输入线性方程组的增广矩阵A=[4,-2,4,10;-2,17,10,3;-4,10,9,-7];x =2.94640.6071-0.14292.请输入线性方程组的增广矩阵A=[1e-008,2,3,1;-1,3.172,4.623,2;-2,1.072,5. 643,3];x =-0.4653-0.07000.38003.请输入线性方程组的增广矩阵A=[0.3e-020,1,0.7;1,1,0.9]x =0.7000。

数学实验题目5 相对Gauss列主元消去法

数学实验题目5 相对Gauss列主元消去法

数学实验题目5 相对Gauss 列主元消去法摘要由一般线性方程组在使用Gauss 消去法求解时,从求解过程中可以清楚地看到,若(1)0k kk a -=,必须施以行交换的手续,才能使消去过程继续下去。

有时既使(1)0k kk a -≠,但其绝对值很小,由于舍入误差的影响,消去过程也会出现不稳定现象。

因此,为使这种不稳定现象发生的可能性减至最小,在施行消去过程时每一步都要选主元素,即要寻找行r ,使(1)(1)||max ||k k rk ik i ka a -->=并将第r 行与第k 行交换,以使(1)k kka -的当前值(即(1)k ika -的数值)远大于0。

这种列主元消去法的主要步骤如下: 1.消元过程 对1,2,,1k n =-,做1º 选主元,记||max ||rk ik i ka a >=若0rk a =,说明方程组系数矩阵奇异,则停止计算,否则进行2º。

2º 交换A (增广矩阵)的,r k 两行元素,,1rj kja a j k n ↔=+3º 计算/ij ij ik kj kk a a a a a =-1,,i k n =+1,,1j k n =++2.回代过程 对,1,,2,1k n n =-,计算,11(/)nk k n kjj kk j k x a ax a +=-=-∑前言利用Gauss 列主元消去法、显式相对Gauss 列主元消去法、隐式相对Gauss 列主元消去法求解线性方程组程序设计流程是否否是开 始输入A (增广矩阵)1k = ||max ||rk ik i ka a >=rk a =1,,1,,1/ij ij ik kj kk i k n j k n a a a a a =+=++=-交换A 中,r k 两行1k n <-,11,1,,2,1()/nk k n kjj kkj k k n n x a ax a +=+=-=-∑输出x结 束 1k =问题1(1)程序运行如下:x = GaussSysSolve(Mat1_1,b1_1)x = 1.0000 1.0000 1.0000 1.0000x = GaussExpSysSolve(Mat1_1,b1_1)x = 1.0000 1.0000 1.0000 1.0000x = GaussIneSysSolve(Mat1_1,b1_1)x = 1.0000 1.0000 1.0000 1.0000 (2)程序运行如下:x = GaussSysSolve(Mat1_2,b1_2)x = 1.0000 1.0000 1.0000 1.0000x = GaussExpSysSolve(Mat1_2,b1_2)x = 1.0000 1.0000 1.0000 1.0000x = GaussIneSysSolve(Mat1_2,b1_2)x = 1.0000 1.0000 1.0000 1.0000 (3)程序运行如下:x = GaussSysSolve(Mat1_3,b1_3)x = 1.0000 1.0000 1.0000 1.0000x = GaussExpSysSolve(Mat1_3,b1_3)x = 1.0000 1.0000 1.0000 1.0000x = GaussIneSysSolve(Mat1_3,b1_3)x = 1.0000 1.0000 1.0000 1.0000 (4)程序运行如下:x = GaussSysSolve(Mat1_4,b1_4)x = 1.0000 1.0000 1.0000 1.0000x = GaussExpSysSolve(Mat1_4,b1_4)x = 1.0000 1.0000 1.0000 1.0000x = GaussIneSysSolve(Mat1_4,b1_4)x = 1.0000 1.0000 1.0000 1.0000问题2(1)程序运行如下:= GaussSysSolve(Mat2_1,b2_1)x = 1.0915 0.2832 1.1463 -0.1008x = GaussExpSysSolve(Mat2_1,b2_1)x = 1.0915 0.2832 1.1463 -0.1008x = GaussIneSysSolve(Mat2_1,b2_1)x = 1.0915 0.2832 1.1463 -0.1008 (2)程序运行如下:x = GaussSysSolve(Mat2_2,b2_2)x = 0.5162 0.4152 0.1100 1.0365x = GaussExpSysSolve(Mat2_2,b2_2)x = 0.5162 0.4152 0.1100 1.0365x = GaussIneSysSolve(Mat2_2,b2_2)x = 0.5162 0.4152 0.1100 1.0365 (3)程序运行如下:x = GaussSysSolve(Mat2_3,b2_3)x = 1.0000 1.0000 1.0000x = GaussExpSysSolve(Mat2_3,b2_3)x = 1 1 1x = GaussIneSysSolve(Mat2_3,b2_3)x = 1.0000 1.0000 1.0000(4)程序运行如下:x = GaussSysSolve(Mat2_4,b2_4)x = 1 1 1x = GaussExpSysSolve(Mat2_4,b2_4)x = 1.0000 1.0000 1.0000x = GaussIneSysSolve(Mat2_4,b2_4)x = 1 1 1使用的函数function x = GaussSysSolve(A, b)% GaussSysSolve 用Gauss消去法解线性方程组Ax = b%% Synopsis: x = GaussSysSolve(A, b)%% Input: A = 系数矩阵% b = 方程组右端%% Output: x = 线性系统的解向量[m,n] = size(A);b = b(:); %将b变为列向量if m ~= n %A必须为方阵error('Argument matrix A must be square!');elseif m ~= length(b) %b的长度应与A维度相同error('The dimentions of A and b do not agree!');endAb = [A b]; %构造增广矩阵for i = 1:n[amax, imax] = max(Ab(i:n, i)); %选择主元if amax == 0 %主元为0,矩阵奇异error('Tne Linear System is singular!');elseif i ~= imax+i-1 %主元行数与i不同时,交换这两行Ab([i imax+i-1],:) = Ab([imax+i-1 i], :);endfor j = i+1:n %向下消元Ab(j,:) = Ab(j,:) - Ab(i,:) * Ab(j,i)/amax;endendx = zeros(n,1);x(n) = Ab(n,n+1)/Ab(n,n);for k = n-1:-1:1 %计算x x(k) = ( Ab(k,n+1) - Ab(k,k+1:n)*x(k+1:n) ) / Ab(k,k);endfunction x = GaussExpSysSolve(A, b)% GaussExpSysSolve 用显式Gauss列主元消去法解线性方程组Ax = b%% Synopsis: x = GaussExpSysSolve(A, b)%% Input: A = 系数矩阵% b = 方程组右端%% Output: x = 线性系统的解向量[m,n] = size(A);b = b(:); %将b变为列向量if m ~= n %A必须为方阵error('Argument matrix A must be square!');elseif m ~= length(b) %b的长度应与A维度相同error('The dimentions of A and b do not agree!');endAb = [A b]; %构造增广矩阵for i = 1:n %显式平衡技术s = max(Ab(i,1:n));Ab(i,:) = Ab(i,:)/s;endfor i = 1:n[amax, imax] = max(Ab(i:n, i)); %选择主元if amax == 0 %主元为0,矩阵奇异error('Tne Linear System is singular!');elseif i ~= imax+i-1 %主元行数与i不同时,交换这两行Ab([i imax+i-1],:) = Ab([imax+i-1 i], :);endfor j = i+1:n %向下消元Ab(j,:) = Ab(j,:) - Ab(i,:) * Ab(j,i)/amax;endendx = zeros(n,1);x(n) = Ab(n,n+1)/Ab(n,n);for k = n-1:-1:1 %计算xx(k) = ( Ab(k,n+1) - Ab(k,k+1:n)*x(k+1:n) ) / Ab(k,k);endfunction [x,det] = GaussIneSysSolve(A, b)% GaussIneSysSolve 用隐式Gauss列主元消去法解线性方程组Ax = b%% Synopsis: x = GaussIneSysSolve(A, b)%% Input: A = 系数矩阵% b = 方程组右端%% Output: x = 线性系统的解向量% det = 系数矩阵行列式的值[m,n] = size(A);b = b(:); %将b变为列向量if m ~= n %A必须为方阵error('Argument matrix A must be square!');elseif m ~= length(b) %b的长度应与A维度相同error('The dimentions of A and b do not agree!');endAb = [A b]; %构造增广矩阵det = 1; %初始化系数矩阵行列式为1for i = 1:n %隐式平衡技术s(i) = max(abs(Ab(i,1:n)));if s(i) == 0error('Tne Linear System is singular!'); %系数矩阵某行全为0时,矩阵奇异endends = s(:);for k = 1:n-1[c, kmax] = max(abs(Ab(k:n, k)./s(k:n))); %选择主元if c == 0 %主元为0,矩阵奇异det = 0;error('Tne Linear System is singular! det(A) = 0');elseif k ~= kmax+k-1 %主元行数与k不同时,交换这两行s([k kmax+k-1]) = s([kmax+k-1 k]);Ab([k kmax+k-1],:) = Ab([kmax+k-1 k], :);det = -det;endfor j = k+1:n %向下消元Ab(j,:) = Ab(j,:) - Ab(k,:) * Ab(j,k)/Ab(k,k);enddet = Ab(k,k)*det;endif Ab(n,n) == 0det = 0;error('Tne Linear System is singular!'); %最后一行唯一非0元素为0时,矩阵奇异endx = zeros(n,1);x(n) = Ab(n,n+1)/Ab(n,n);for k = n-1:-1:1 %计算x x(k) = ( Ab(k,n+1) - Ab(k,k+1:n)*x(k+1:n) ) / Ab(k,k);enddet = Ab(n,n)*det;思考题(1)在各主元不是非常小的时候,三种方法结果一致(2)隐式平衡列选主元法最好,应为当主元很小时,普通的Gauss消元法会产生很大误差;显式平衡列选主元法每一行除以其绝对值最大元素时会引入额外的舍入误差。

(完整版)2.3高斯列主元消去法

(完整版)2.3高斯列主元消去法

2.3高斯列主元消去法解线性方程组一:问题的提出我们都知道,高斯列主元素消去法是计算机上常用来求解线性方程组的一种直接的方法。

就是在不考虑舍入误差的情况下,经过有限步的四则运算可以得到线性方程组的准确解的一类方法。

实际运算的时候因为只能有限小数去计算,因此只能得到近似值。

在实际运算的时候,我们很多时候也常用高斯消去法。

但是高斯消去法在计算机中运算的时候常会碰到两个问题。

1.一旦遇到某个主元等于0,消元过程便无法进行下去。

2.在长期使用中还发现,即使消元过程能进行下去,但是当某个主元的绝对值很小时,求解出的结果与真实结果相差甚远。

为了避免高斯消去法消元过程中出现的上述两个问题,一般采用所谓的选择主元法。

其中又可以分为列选主元和全面选主元两种方法。

目前计算机上常用的按列选主元的方法。

因此我在这里做的也是列选主元高斯消去法。

二、算法的基本思想大家知道,如果一个线性方程组的系数矩阵是上三角矩阵时,即这种方程组我们称之为上三角方程组,它是很容易求解的。

我们只要把方程组的最下面的一个方程求解出来,在把求得的解带入倒数第二个方程,求出第二个解,依次往上回代求解。

然而,现实中大多数线性方程组都不是上面所说的上三角方程组,所以我们有可以把不是上三角的方程通过一定的算法化成上三角方程组,由此我们可以很方便地求出方程组的解。

高斯消元法的目的就是把一般线性方程组简化成上三角方程组。

于是高斯消元法的基本思想是:通过逐次消元将所给的线性方程组化为上三角形方程组,继而通过回代过程求解线性方程组。

三、算法的描述1、设有n 元线性方程组如下:1111n n nn a a a a ⎛⎫ ⎪ ⎪ ⎪⎝⎭K M OM L1n x x ⎛⎫ ⎪ ⎪ ⎪⎝⎭M =1n b b ⎛⎫ ⎪ ⎪ ⎪⎝⎭M 2、 第一步:如果a 11!=0, 令l i1= ai1/a11, I= 2,3,……,n用(-li1)乘第一个方程加到第i 个方程上,得同解方程组:a (1)11 a (1)12 . . . a (1)1nx 1 b (1)1a (1)21 a (1)22 . . . a (1)2n x 2b (1)2. . . . . . . = .a (1)n-11 a (1)n-12 . . a (1)n-1n x n-1b (1)n-1a (1)n1 a (1)n2 . . . a (1)nn x nb (1)n简记为:A (2) x = b (2)其中a (2)ij = a (1)ij – l i1 * a (1)1j , I ,j = 2,3,..,nb(2)I = b(1)I– l i1 * b(1)1 , I = 2,3,...,n第二步:如果a(2)22 != 0,令l i2= a(2)i2/a(2)22, I= 3,……,n依据同样的原理,对矩阵进行化间(省略),依次下去,直到完成!最后,得到上三角方程组:a(1)11a(1)12 . . . a(1)1n x1b(1)10 a(1)22 . . . a(1)2n x2b(1)2. . . . . . . = .0 0 . . a(n-1)n-1n x n-1b(n-1)n-10 0 . . . a(n)nn x n b(n)n简记为:A(n) x = b(n)最后从方程组的最后一个方程进行回代求解为:X n = b(n) / a(n)nnX i = ( b(k)k - a(k)kj x j ) / a(k)kk以上为高斯消去法的基本过程。

高斯列主元消去法

高斯列主元消去法

问题提出:采用高斯列主元消去法解线性方程组。

算法(公式)推导:高斯顺序消去法有一个最大的缺点就是一旦对角元素为0,就进行不下去了,为了解决这个问题就有了高斯主元消去法。

如果在高斯顺序消去法消去过程进行到第i 步时,先选取a ri ()n r i ≤≤中(即第i 列)绝对值最大的元素,设为第j 行的元素aji ,然后将第i+1行至第n 行中的每一行减去第i 行乘以ii kj a a (k 代表行号),依次进行消元,这样得到的算法叫高斯按列主元消去法。

高斯按列主元消去法的算法步骤介绍如下:1. 将方程组写成以下的增广矩阵的形式: 432144434241343332312423222114131211b b b b a a a a a a a a a a a a a a a a 2. 对k=1,2,3,…..,n-1,令∑==nk s sk pk a a max ,交换增广矩阵的第k 行与第p 行;对j=k+1,K+2,……..,n,计算*km jkjm jm kk a a a a a =-(m=k,k+1,....n)kk jk k j j a a b b b *-=算法结束。

3. 在MATLABE 中编程实现的高斯按列主元消去法函数为:GaussXQLineMain功能:高斯按列主元消去法求线性方程组Ax=b 的解调用格式:[x,XA]=GaussXQLineMain(A,b)其中,A :线性方程组的系数矩阵;B:线性方程组中的常数向量;x:线性方程组的解:XA:消元后的系数矩阵(可选的输出参数)。

高斯列主元消去法用MATLAB实现如下所示:4.其中用到上三角矩阵求解函数:在MATLABE中编程实现的上三角系数矩阵求解函数为:SolveUPTriangle 功能:求上三角系数矩阵的线性方程组Ax=b的解调用格式:x=SolveUpTriangel(A,b)其中,A :线性方程组的系数矩阵;b :线性方程组中的常数向量; X :线性方程组的解;上三角系数矩阵求解函数用MATLAB 实现如下所示:高斯按列主元消去法解线性方程组应用实例:用高斯按列主元消去法求解下列线性方程组的解。

2.2Gauss消去法

2.2Gauss消去法

可类似求得其解为
c1 x1 = l , 11 k 1 ck lkj x j j 1 xk , lkk
(2.2.6)
k 2,3, , n.
2.2.2 Gauss消去法
由于三角方程组的求解较为简单,对于一般的线性方程组 (2.1.2) , 若能通过同解变换将其化为上三角方程组或下三角方程 组,则求解方程组 (2.1.2) 的问题就解决了. Gauss消去法就是 基于这一基本思想. 记线性方程组(2.1.2)的增广矩阵为 a11 a12 a1n a a22 a2 n 21 A | b an1 an 2 ann
( k 1) | b( k 1) 中第 k 列的 a k 1, k , ,
( k 1) ( k 1) lik aik / akk , i k 1,, n.
( k 1) 将 A
(2.2.8)
| b( k 1) 中的第k 行乘以 lik,然后加到第i行上(i
作3060次乘除法, 而由第2.1节知Gramer法则则需作9.707 1020次 乘除法.由此可见,Gauss消去法的计算量远远小于Gramer法则 的计算量. Gauss消去法(不作行交换)能顺利进行到底的条件是主
(1) ( n 1) 元a11 , a22 ,, ann 均不为零下面定理给出了系数矩阵 . A满足这一
一般地,设已求得xn , xn1 ,, xk 1,则由(2.2.1)的第 k 个方程 可解得
xk ck
j k 1
u
ukk
n
kj
xj , k n 1, n 2,,1.
(2.2.4)
上述求解上三角方程组(2.2.1)解的过程称为回代过程. 1 回代过程需作 n( n 1)次乘除法运算. 2
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

贵州师范大学数学与计算机科学学院学生实验报告
课程名称: 数值分析 班级: 数本(一)班 实验日期: 年 月 日
学 号: 090704020098(81) 姓名: 吴胜 指导教师: 杨一都
实验成绩: 一、实验名称
实验五:线性方程组的数值解法 二、实验目的及要求
1. 让学生掌握用列主元gauss 消去法、超松弛迭代法求解线性方程组.
2. 培养Matlab 编程与上机调试能力. 三、实验环境
每人一台计算机,要求安装Windows XP 操作系统,Microsoft office2003、MATLAB6.5(或7.0). 四、实验内容
1. 编制逐次超松弛迭代(SOR 迭代)函数(子程序),并用于求解方程组
⎪⎪⎩⎪⎪
⎨⎧=-++=+-+=++-=+++-1
4141
4144321
432143214321x x x x x x x x x x x x x x x x
取初始向量T x )1,1,1,1()0(=,迭代控制条件为 5
)1()(10
2
1||||--⨯≤
-k k x x
请绘制出迭代次数与松弛因子关系的函数曲线,给出最佳松弛因子.SOR 迭代
的收敛速度是否一定比Gauss-Seidel 迭代快?
2. 编制列主元 Gauss 消去法函数(子程序),并用于解
⎪⎩⎪
⎨⎧=++-=-+-=+-6
15318153312321
321321x x x x x x x x x 要求输出方程组的解和消元后的增广矩阵. 注:题2必须写实验报告
五、算法描述及实验步骤
Gauss 消去法: 功能 解方程组b Ax = .
输入 n ,n n ij a A ⨯=)(,T
n b b b b ),,,(21 =.
输出 方程组的解T
n x x x x ),,,(21 =或失败信息.
步1 对1,,2,1-=n k 执行步2→步4 . 步2 调选列主元模块 .
步3 若0=kk a ,则=x “消去法失败”,结束 . 步4 对n k k i ,,2,1 ++=执行步5→步6 .
步5 对n k k j ,,2,1 ++=执行ij kj kk ik ij a a a a a +⨯-⇐/ . 步6 i k kk ik i b b a a b +⨯-⇐/ . 步7 nn n n a b x /⇐ .
步8 对1,,2,1 --=n n i 执行ii n
i j j ij
i i a x a
b x /)(1
∑+=-
⇐ .
步9 输出T
n x x x x ),,,(21 = .
选列主元模块: 功能 选列主元 .
输入 n k k i b n k k j i a i ij ,,1,,;,,1,,, +=+= . 输出 n k k i b n k k j i a i ij ,,1,,;,,1,,, +=+= . 步1 kk a m ⇐;k l ⇐ .
步2 对n k k i ,,2,1 ++=执行若m a ik >则ik a m ⇐;i l ⇐ . 步3 若k l ≠,则交换kj a 和lj a ,n k k j ,,1, +=;交换k b 和l b . 步4 返回主模块 .
六、调试过程及实验结果
>> A=[12,-3,3;-18,3,-1;1,1,1]; >> b=[15;-15;6]; >> x=Gauss1(A,b) Ab =
-18.0000 3.0000 -1.0000 -15.0000 0 1.1667 0.9444 5.1667 0 0 3.1429 9.4286
index =
1
x =
1.0000
2.0000
3.0000
七、总结
由于数)1(-k kk a 在Gauss 消去法中有着突出的作用,第k 步消元时,要用)
1(-k kk a 作除数,如
果)1(-k kk a =0消元会失败,即使主元)
1(-k kk a ≠0,但很小时,舍入误差也会使计算结果面目全非,
避免这种缺陷的基本方法就是选主元。

通过选主元,就可避免绝对值小的数作除数,从而避免舍入误差的恶性增长,使得Gauss 列主元消去法是解中小规模的线性方程组和某些大型稀疏线性方程组的有效方法。

八、附录(源程序清单)
function [x,index]=Gauss1(A,b) [n,m]=size(A);x=zeros(n,1); index=1 for k=1:n-1 a_max=0;
for i=k:n
if abs(A(i,k))>a_max a_max=abs(A(i,k));r=i; end end
if a_max<1e-10
index=0;return ; end if r>k for j=k:n
z=A(k,j);A(k,j)=A(r,j);A(r,j)=z; end
z=b(k);b(k)=b(r);b(r)=z; end
for i=k+1:n
m=A(i,k)/A(k,k); for j=k:n
A(i,j)=A(i,j)-m*A(k,j); end
b(i)=b(i)-m*b(k); end end
if abs(A(n,n))==0 index=0;return ; end
Ab=[A,b]
x(n)=b(n)/A(n,n); for i=n-1:-1:1
for j=i+1:n
b(i)=b(i)-A(i,j)*x(j); end
x(i)=b(i)/A(i,i);
end。

相关文档
最新文档