用列主元消去法解下列方程组
- 格式:docx
- 大小:37.00 KB
- 文档页数:4
<数值计算方法>实验报告1.实验名称实验2 Gauss 列主元消去法2.实验题目用Gauss 列主元消去法求解线性方程组。
0.0011 2.0002 3.0003 1.0001.0001 3.7122 4.6233 2.0002.0001 1.0722 5.6433 3.000x x x x x x x x x ++=⎧⎪-++=⎨⎪-++=⎩3.实验目的加深自己对Gauss 列主元消去法的理解和认识,并且通过做实验或做练习来加强自己Gauss 列主元消去法的掌握,学会并灵活运用Gauss 列主元消去法来求解方程组。
4.基础理论-------Gauss 列主元消去法1.Gauss 列主元消去法的基本思想是:在进行第k (k=1,2,...,n-1)步消元时,从第k 列的kk a 及以下的各元素中选取绝对值最大的元素,然后通过行变换将它交换到主元素kk a 的位置上,再进行消元。
2.Gauss 列主元消去法的优点:当kk a (k=1,2,...,n-1)的绝对值很小时,用Gauss 列主元消去法来求解方程组时,可以避免所的数值结果产生较大误差或失真。
5.实验环境实验系统:Win 7实验平台:VisualC++语言6.实验过程写出算法→编写程序→计算结果Gauss 列元消去法的算法Input:方程组未知量的个数n;增广矩阵()()1,2,...,T ij A a A A An ==,其中i=1,2,…,n; j=1,2,…,n+1Output:方程组的解x1,x2,…,xn,或失败信息。
1. for i ←1ton-1 do;2. temp ←|ii a |;3. p ←I;4. for j ←i+1 to n do5. if ||ji a >temp then6. p ←j;8. end9. end10. if temp=0 then11. |return False;12. end13. if p ≠I then14. p A ⇔i A ;//i,p 两行交换15. end//列选主元16. for j ←i+1 to n do17.*j ji i A m A -ji m ←/ji ii a a ;18. j A ←*j ji i A m A -;//消元19. end7.实验结果原方程组的解为:X1=-0.490396 , x2=-0.051035 ,x3=0.3675208.附录程序清单#include<iostream.h> #include"stdio.h"#include"math.h"void main ( ){ int n=3,i,j,k,p;doubleA[10][10]={{0.001,2.000,3.000,1.000},{-1.000,3.712,4.623,2.000},{-2.0 00,1.072,5.643,3.000}},temp,m,x[100];for(i=0;i<n;i++){ //选主元temp=fabs(A[i][i]); p=i;for(k=i+1;k<n;k++)if(fabs(A[k][i])>temp){temp=fabs(A[k][i]); p=k;}if(temp==0){ printf("\n无法求解:");return;}if(p!=i)for(j=0;j<n+1;j++){ temp=A[i][j];A[i][j]=A[p][j];A[p][j]=temp;}//消元for(k=i+1;k<n;k++){ m=A[k][i]/A[i][i];for(j=i+1;j<=n;j++)A[k][j]=A[k][j]-m*A[i][j];}}//回代for(i=n-1;i>=0;i--){x[i]=A[i][n];for(j=i+1;j<n;j++)x[i]=x[i]-A[i][j]*x[j];x[i]=x[i]/A[i][i];}printf("\nx=\n");for(i=0;i<n;i++)printf("%f \n",x[i]);}。
精心整理《数值计算方法》复习试题一、填空题:1、⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡----=410141014A ,则A 的LU 分解为A ⎡⎤⎡⎤⎢⎥⎢⎥⎢⎥⎢⎥=⎢⎥⎢⎥⎢⎥⎢⎥⎣⎦⎣⎦。
答案:⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡--⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡--=15561415014115401411A 3、1)3(,2)2(,1)1(==-=f f f ,式为。
答案:-1,)3)(1(2)3)(2(21)(2-----=x x x x x L 4、近似值5、设)(x f ();答案1n x =+6、对)(x f =]4,3,2,1(0);78n 次后的误差限为(12+-n ab ); 10、已知f (1)=2,f (2)=3,f (4)=5.9,则二次Newton 插值多项式中x 2系数为(0.15); 11、 解线性方程组A x =b 的高斯顺序消元法满足的充要条件为(A 的各阶顺序主子式均不为零)。
12、 为了使计算32)1(6)1(41310---+-+=x x x y 的乘除法次数尽量地少,应将该表达式改写为11,))64(3(10-=-++=x t t t t y ,为了减少舍入误差,应将表达式19992001-改写为199920012+。
13、 用二分法求方程01)(3=-+=x x x f 在区间[0,1]内的根,进行一步后根的所在区间为0.5,1,进行两步后根的所在区间为0.5,0.75。
14、 求解方程组⎩⎨⎧=+=+042.01532121x x x x 代矩阵的谱半径)(M ρ=121。
15、 设46)2(,16)1(,0)0(===f f f ,则=)(1x l (1l )1(716)(2-+=x x x x N 。
16、(高斯型)求积公式为最高,具有(12+n )次代21]内的根精确到三位小数,需对分(10)次。
22、已知≤≤≤≤3110(x x S 是三次样条函数,则a =(3 ),b 23、(),(10l x l Lagrange 插值基函数,则∑==nk kx l)((1),=k 0(j),当时=++=)()3(204x l x xk k k k (324++x x )。
数值计算方法试题一、填空(共20分,每题2分)1、设,取5位有效数字,则所得的近似值x=_____。
2、设一阶差商,则二阶差商3、数值微分中,已知等距节点的函数值则由三点的求导公式,有4、求方程的近似根,用迭代公式,取初始值,那么5、解初始值问题近似解的梯形公式是6、,则A的谱半径=,A的=7、设 ,则=和=8、若线性代数方程组AX=b 的系数矩阵A为严格对角占优阵,则雅可比迭代和高斯—塞德尔迭代都_____9、解常微分方程初值问题的欧拉(Euler)方法的局部截断误差为_____10、设,当时,必有分解式,其中L为下三角阵,当其对角线元素足条件时,这种分解是唯一的.二、计算题(共60 分,每题15分)1、设(1)试求在上的三次Hermite插值多项式H(x)使满足H(x)以升幂形式给出.(2)写出余项的表达式2、已知的满足,试问如何利用构造一个收敛的简单迭代函数,使0,1…收敛?3、试确定常数A,B,C和,使得数值积分公式有尽可能高的代数精度。
试问所得的数值积分公式代数精度是多少?它是否为Gauss型的?4、推导常微分方程的初值问题的数值解公式:三、证明题1、设(1)写出解的Newton迭代格式(2)证明此迭代格式是线性收敛的2、设R=I-CA,如果,证明:(1)A、C都是非奇异的矩阵(2)参考答案:一、填空题1、2.31502、3、4、1.55、6、7、8、收敛9、O(h)10、二、计算题1、1、(1)(2)2、由,可得因故故,k=0,1,…收敛。
3、,该数值求积公式具有5次代数精确度,它是Gauss型的4、数值积分方法构造该数值解公式:对方程在区间上积分,得,记步长为h,对积分用Simpson求积公式得所以得数值解公式:三、证明题1、证明:(1)因,故,由Newton迭代公式:n=0,1,…得,n=0,1,…(2)因迭代函数,而,又,则故此迭代格式是线性收敛的。
2、证明:(1)因,所以I–R非奇异,因I–R=CA,所以C,A都是非奇异矩阵(2)故则有(2.1)因CA=I–R,所以C=(I–R)A—1,即A-1=(I–R)—1C又RA-1=A—1–C,故由(这里用到了教材98页引理的结论)移项得 (2.2)结合(2。
一、填空(共20分,每题2分)1、设,取5位有效数字,则所得的近似值x=_____.2、设一阶差商,则二阶差商3、数值微分中,已知等距节点的函数值则由三点的求导公式,有4、求方程的近似根,用迭代公式,取初始值,那么5、解初始值问题近似解的梯形公式是6、,则A的谱半径=,A的=7、设,则=和=8、若线性代数方程组AX=b 的系数矩阵A为严格对角占优阵,则雅可比迭代和高斯-塞德尔迭代都_____9、解常微分方程初值问题的欧拉(Euler)方法的局部截断误差为_____10、设,当时,必有分解式,其中L为下三角阵,当其对角线元素足条件时,这种分解是唯一的。
二、计算题(共60 分,每题15分)1、设(1)试求在上的三次Hermite插值多项式H(x)使满足 H(x)以升幂形式给出。
(2)写出余项的表达式2、已知的满足,试问如何利用构造一个收敛的简单迭代函数,使0,1…收敛?3、试确定常数A,B,C和,使得数值积分公式有尽可能高的代数精度。
试问所得的数值积分公式代数精度是多少?它是否为Gauss型的?4、推导常微分方程的初值问题的数值解公式:三、证明题1、设(1)写出解的Newton迭代格式(2)证明此迭代格式是线性收敛的2、设R=I-CA,如果,证明:(1)A、C都是非奇异的矩阵(2)参考答案:一、填空题1、2、3、4、5、6、7、8、收敛9、O(h)10、二、计算题1、1、(1)(2)2、由,可得因故故,k=0,1,…收敛。
3、,该数值求积公式具有5次代数精确度,它是Gauss型的4、数值积分方法构造该数值解公式:对方程在区间上积分,得,记步长为h,对积分用Simpson求积公式得所以得数值解公式:三、证明题1、证明:(1)因,故,由Newton迭代公式:n=0,1,…得,n=0,1,…(2)因迭代函数,而,又,则故此迭代格式是线性收敛的。
2、证明:(1)因,所以I–R非奇异,因I–R=CA,所以C,A都是非奇异矩阵 (2) 故则有()因CA=I–R,所以C=(I–R)A-1,即A-1=(I–R)-1C又RA-1=A-1–C,故由(这里用到了教材98页引理的结论)移项得结合()、两式,得模拟试题一、填空题(每空2分,共20分)1、解非线性方程f(x)=0的牛顿迭代法具有_______收敛2、迭代过程(k=1,2,…)收敛的充要条件是___3、已知数 e=...,取近似值 x=,那麽x具有的有效数字是___4、高斯--塞尔德迭代法解线性方程组的迭代格式中求______________5、通过四个互异节点的插值多项式p(x),只要满足_______,则p(x)是不超过二次的多项式6、对于n+1个节点的插值求积公式至少具有___次代数精度.7、插值型求积公式的求积系数之和___8、 ,为使A可分解为A=LL T, 其中L为对角线元素为正的下三角形,a的取值范围_9、若则矩阵A的谱半径(A)=___10、解常微分方程初值问题的梯形格式是___阶方法二、计算题(每小题15分,共60分)1、用列主元消去法解线性方程组2、已知y=f(x)的数据如下求二次插值多项式及f()3、用牛顿法导出计算的公式,并计算,要求迭代误差不超过。
WORD格式.分享第5章复习与思考题1、用高斯消去法为什么要选主元?哪些方程组可以不选主元?k答:使用高斯消去法时,在消元过程中可能出现a的情况,这时消去法无法进行;即kkk时主元素0和舍入增长a,但相对很小时,用其做除数,会导致其它元素数量级的严重kk计误差的扩散,最后也使得计算不准确。
因此高斯消去法需要选主元,以保证计算的进行和算的准确性。
当主对角元素明显占优(远大于同行或同列的元素)时,可以不用选择主元。
计算时一般选择列主元消去法。
2、高斯消去法与LU分解有什么关系?用它们解线性方程组Ax=b有何不同?A要满足什么条件?答:高斯消去法实质上产生了一个将A分解为两个三角形矩阵相乘的因式分解,其中一个为上三角矩阵U,一个为下三角矩阵L。
用LU分解解线性方程组可以简化计算,减少计算量,提高计算精度。
A需要满足的条件是,顺序主子式(1,2,⋯,n-1)不为零。
3、楚列斯基分解与LU分解相比,有什么优点?楚列斯基分解是LU分解的一种,当限定下三角矩阵L的对角元素为正时,楚列斯基分解具有唯一解。
4、哪种线性方程组可用平方根法求解?为什么说平方根法计算稳定?具有对称正定系数矩阵的线性方程可以使用平方根法求解。
,切对角元素恒为正数,因此,是一个稳定的平方根法在分解过程中元素的数量级不会增长算法。
5、什么样的线性方程组可用追赶法求解并能保证计算稳定?对角占优的三对角方程组6、何谓向量范数?给出三种常用的向量范数。
向量范数定义见p53,符合3个运算法则。
正定性齐次性三角不等式x为向量,则三种常用的向量范数为:(第3章p53,第5章p165)设n||x|||x|1ii11n22||x||(x)2ii1||x||max|x i|1in7、何谓矩阵范数?何谓矩阵的算子范数?给出矩阵A=(a ij)的三种范数||A||1,||A||2,精品.资料WORD格式.分享||A||∞,||A||1与||A||2哪个更容易计算?为什么?向量范数定义见p162,需要满足四个条件。
实验报告一、实验名称解线性方程组的列主元素高斯消去法和LU 分解法 二、实验目的及要求通过数值实验,用熟悉的算法语言编写程序,从中体会解线性方程组选主元素的必要性和Lu 分解法的优点,以及方程组系数矩阵和右端向量的微小变化对解向量的影响。
三、实验内容解下列两个线性方程组(1)1233.01 6.03 1.9911.274.16-1.2310.987-4.819.341x x x ⎛⎫⎛⎫⎛⎫ ⎪⎪ ⎪= ⎪⎪ ⎪ ⎪⎪ ⎪⎝⎭⎝⎭⎝⎭(2)12341070183 2.09999962 5.9000015151521021x x x x -⎛⎫⎛⎫⎛⎫ ⎪ ⎪ ⎪- ⎪ ⎪ ⎪= ⎪ ⎪ ⎪-- ⎪ ⎪ ⎪⎝⎭⎝⎭⎝⎭ 四、算法描述1、列主元高斯消去法:记(1)ij ij a a = (,1,2,i j n =) (1)i i b b = (1,2,i n =)(1)消元过程对于R=1,2,……,n-1执行: 1)选行号k i ,使()()a max k k k i k ikk i na ≤≤=2)交换()k kj a 与()a k k i k (j=k,k+1,……n)以及()k kb 与()k ik b 所含的数值。
3)对于i=k+1,k+2,……,n 计算()()/k k ik ik kk m a a =(1)()()k k k ij ij ik kja a m a +=- j=k+1,k+2,……n 。
(1)(k)()k k i i ik kb b m b +=-(2)回代过程()n /n n n nn x b a =()()()()1()/,1,2,,1.nk k k k k kj j kk j k x ba x a k n n =+=-∑=--在此算法中的()a k k i k (k=1,2,……,n-1)称为第k 个列主元素,它的数值总要被交换到第k 个主对角线元素的位置上。
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以上为高斯消去法的基本过程。
用列主元消去法解下列方程组
列主元消去法是一种求解线性方程组的方法,也称为高斯消元法。
它的基本思想是通过一系列的行变换将增广矩阵化为阶梯形矩阵,然后通过回代求解出未知数的值。
下面我们来详细介绍一下列主元消去法的具体步骤。
首先,我们将线性方程组的系数矩阵和常数向量组成增广矩阵,即:
$$
\left[
\begin{matrix}
a_{11} & a_{12} & \cdots & a_{1n} & b_1 \\
a_{21} & a_{22} & \cdots & a_{2n} & b_2 \\
\vdots & \vdots & \ddots & \vdots & \vdots \\
a_{n1} & a_{n2} & \cdots & a_{nn} & b_n
\end{matrix}
\right]
$$
然后,我们选择第一列中绝对值最大的元素作为主元素,并将其所在的行交换到第一行。
如果第一列中所有元素的绝对值都为0,则选择第
二列中绝对值最大的元素作为主元素,并将其所在的行交换到第一行。
以此类推,直到所有列都处理完毕。
接下来,我们将第一行的主元素除以它的系数,然后用第一行的主元
素消去第二行、第三行、……、第n行的主元素。
具体地,我们将第二行的第一列元素除以第一行的主元素,然后将第一行乘以这个数并减
去第二行,使得第二行的第一列元素变为0。
同样地,我们将第三行、第四行、……、第n行的第一列元素都消去。
然后,我们选择第二列中绝对值最大的元素作为主元素,并将其所在
的行交换到第二行。
然后,我们将第二行的主元素除以它的系数,然
后用第二行的主元素消去第三行、第四行、……、第n行的主元素。
以此类推,直到所有列都处理完毕。
最后,我们得到一个阶梯形矩阵,即:
$$
\left[
\begin{matrix}
a_{11}^{'} & a_{12}^{'} & \cdots & a_{1n}^{'} & b_1^{'} \\
0 & a_{22}^{'} & \cdots & a_{2n}^{'} & b_2^{'} \\
\vdots & \vdots & \ddots & \vdots & \vdots \\
0 & 0 & \cdots & a_{nn}^{'} & b_n^{'}
\end{matrix}
\right]
$$
其中,$a_{ii}^{'}$表示第$i$行第$i$列的主元素,$b_i^{'}$表示第$i$行的常数项。
接下来,我们通过回代求解未知数的值。
具体地,我们先求出最后一行的未知数$x_n$,即:
$$
x_n = \frac{b_n^{'}}{a_{nn}^{'}}
$$
然后,我们用$x_n$的值求出倒数第二行的未知数$x_{n-1}$,即:
$$
x_{n-1} = \frac{b_{n-1}^{'} - a_{n-1,n}^{'}x_n}{a_{n-1,n-1}^{'}} $$
以此类推,直到求出所有未知数的值。
总的来说,列主元消去法是一种比较常用的求解线性方程组的方法。
它的优点是精度高、稳定性好,但是计算量较大,对于大规模的线性方程组求解效率较低。
因此,在实际应用中需要根据具体情况选择合适的求解方法。