利用高斯列主元消去法求如下线性方程组的解

合集下载

用列主元高斯消元法求线性代数方程组的解

用列主元高斯消元法求线性代数方程组的解

课程设计任务书前 言回顾普通解方程组的方法,一般都是先逐个削去未知变量,最终得到只有一个未知变量的方程,解之,把得到的值回代到消去变量过程中得到的方程组,逐个求出未知变量。

这种解线性方程组的基本方法就是这里要介绍的高斯消去法。

数学上,高斯消元法(或译:高斯消去法),是线性代数中的一个算法,可用来为线性方程组求解,求出矩阵的秩,以及求出可逆方阵的逆矩阵。

当用于一个矩阵时,高斯消元法会产生出一个“行梯阵式”。

高斯消元法可以用在电脑中来解决数千条等式及未知数。

高斯消元法可以用来找出一个可逆矩阵的逆矩阵。

用关联矩阵表述网络拓扑结构,并根据厂站拓扑结构和网络拓扑结构等概念简化了电力系统的拓扑结构。

根据广义乘法和广义加法的运算规则,将改进的高斯消元算法应用于电力系统拓扑结构分析中,并引入稀疏、分块处理等技术提高了上述拓扑分析的效率。

采用上述高斯消元算法对山东电网220kV 以上的变电站进行拓扑结构分析,结果表明了运用该高斯消元法进行网络拓扑分析的正确性和有效性。

用列主元素法,选取每列的绝对值最大的元素作为消去对象并作为主元素。

然后换行使之变到主元位子上,在进行消元计算。

设)()(k k b X A ,确定第k 列主元所在位置k i ,在交换k i 行和k 行后,在进行消元,并用MATLAB 软件进行求解。

目录摘要....................................................................................... 错误!未定义书签。

第1章绪论 ......................................................................... 错误!未定义书签。

第2章高斯消元法的算法描述 (2)2.1高斯消元法的原理概述 (2)c231730658" 2.1.1高斯消元法的消元过程 (2)c231730658" 2.1.2高斯消元法的回带过程 (3)c231730658" 2.1.3高斯消元法的复杂度分析 (4)c231730658" 2.2列主高斯消元法原理简介 (5)c231730658" 2.2.1列主高斯消元法的消元过程 (6)c231730658" 2.2.2列主高斯消元法的回带过程 (6)c231730658" 2.2.3列主高斯消元法的算法描述 (6)c231730662"第3章高斯消元法的物理应用 (9)3.1c231730663"电网模型的描述 (9)c231730658" 3.2电网模型的问题分析 (9)c231730658"3.3求解计算 (11)c231730693"参考文献 (13)摘 要用列主元素高斯消去法法,选取每列的绝对值最大的元素作为消去对象并作为主元素。

解线性方程组的列主元素高斯消去法和lu分解法

解线性方程组的列主元素高斯消去法和lu分解法

数值试验报告分析一、实验名称:解线性方程组的列主元素高斯消去法和LU 分解法二、实验目的及要求:通过数值实验,从中体会解线性方程组选主元的必要性和LU 分解法的优点,以及方程组系数矩阵和右端向量的微小变化对解向量的影响。

三、算法描述:本次试验采用的是高斯列主元消去法和LU 分解法求解线性方程组的解。

其中,高斯消去法的基本思想是避免接近于零的数作分母;能进行到底的条件:当A 可逆时,列主元Gauss(高斯)消去法一定能进行到底。

优点:具有很好的数值稳定性;具有与顺序Gauss 消去法相同的计算量。

列主元Gauss(高斯)消去法的精度显著高于顺序Gauss(高斯)消去法。

注意:省去换列的步骤,每次仅选一列中最大的元。

矩阵的三角分解法是A=LU,L 是下三角阵,U 是上三角阵,Doolittle 分解:L 是单位下三角阵,U 是上三角阵;Crout 分解:L 是下三角阵,U 是单位上三角阵。

矩阵三角分解的条件 是矩阵A 有唯一的Doolittle 分解的充要条件是A 的前n-1顺序主子式非零;矩阵A 有唯一的Crout 分解的充要条件是A 的前n-1顺序主子式非零。

三角分解的实现是通过(1)Doolittle 分解的实现; (2)Doolittle 分解的缺点:条件苛刻,且不具有数值稳定性。

(3)用Doolittle 分解求解方程组: AX=b LUX=b LY=bA=LU UX=Y ;四、实验内容:解下列两个线性方程组(1) ⎪⎪⎪⎭⎫ ⎝⎛=⎪⎪⎪⎭⎫ ⎝⎛⎪⎪⎪⎭⎫ ⎝⎛--11134.981.4987.023.116.427.199.103.601.3321x x x (2) ⎪⎪⎪⎪⎪⎭⎫ ⎝⎛=⎪⎪⎪⎪⎪⎭⎫ ⎝⎛⎪⎪⎪⎪⎪⎭⎫ ⎝⎛----15900001.582012151526099999.23107104321x x x x a 、用你熟悉的算法语言编写程序用列主元高斯消去法和LU 分解求解上述两个方程组,输出Ax=b 中矩阵A 及向量b, A=LU 分解的L 及U ,detA 及解向量x.b 、将方程组(1)中系数3.01改为3.00,0.987改为0.990,用列主元高斯消去法求解变换后的方程组,输出列主元行交换次序,解向量x及detA,并与(1)中结果比较。

用高斯消元法求解线性代数方程组

用高斯消元法求解线性代数方程组

用高斯消元法求解线性代数方程组12341115-413-2823113-21041513-21719x x x x ⎡⎤⎡⎤⎡⎤⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥=⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎣⎦⎣⎦⎣⎦ 1111X *⎡⎤⎢⎥⎢⎥=⎢⎥⎢⎥⎣⎦(X*是方程组的精确解)1 高斯消去法1.1 基本思想及计算过程高斯(Gauss )消去法是解线性方程组最常用的方法之一,它的基本思想是通过逐步消元,把方程组化为系数矩阵为三角形矩阵的同解方程组,然后用回代法解此三角形方程组得原方程组的解。

为便于叙述,先以一个三阶线性方程组为例来说明高斯消去法的基本思想。

⎪⎩⎪⎨⎧=++II =++I =++III)(323034)(5253)(6432321321321x x x x x x x x x 把方程(I )乘(23-)后加到方程(II )上去,把方程(I )乘(24-)后加到方程(III )上去,即可消去方程(II )、(III )中的x 1,得同解方程组⎪⎩⎪⎨⎧=+-II -=-I =++III)(20223)(445.0)(64323232321x x x x x x x将方程(II )乘(5.03)后加于方程(III ),得同解方程组: ⎪⎩⎪⎨⎧-=-II -=-I =++III)(42)(445.0)(6432332321x x x x x x由回代公式(3.5)得x 3 = 2,x 2 = 8,x 1 = -13。

下面考察一般形式的线性方程组的解法,为叙述问题方便,将b i 写成a i , n +1,i = 1, 2,…,n 。

⎪⎪⎩⎪⎪⎨⎧=++++=++++=+++++++1,3322111,223232221211,11313212111n n n nn n n n n n n n n n a x a x a x a x a a x a x a x a x a a x a x a x a x a(1-1)如果a 11 ≠ 0,将第一个方程中x 1的系数化为1,得)1(1,1)1(12)1(121+=+++n n n a x a x a x其中)0(11)0()1(1aa aijj=, j = 1, …, n + 1(记ij ij a a =)0(,i = 1, 2, …, n ; j = 1, 2, …, n + 1)从其它n –1个方程中消x 1,使它变成如下形式⎪⎪⎩⎪⎪⎨⎧=++=++=++++++)1(1,)1(2)1(2)1(1,2)1(22)1(22)1(1,1)1(12)1(121n n n nn n n n n n n n a x a x a a x a x a a x a x a x(1-2)其中n i a m a aij i ij ij ,,2)1(1)1( =⋅-=,1,,3,211)1(11+==n j a a m i i由方程(1-1)到(1-2)的过程中,元素11a 起着重要的作用,特别地,把11a 称为主元素。

高斯消元法与线性方程组的解法知识点总结

高斯消元法与线性方程组的解法知识点总结

高斯消元法与线性方程组的解法知识点总结在数学中,线性方程组是一个常见的问题。

解决线性方程组的一个重要方法是高斯消元法。

本文将对高斯消元法及其相关知识点进行总结。

一、高斯消元法概述高斯消元法是一种通过进行行变换将线性方程组转化为简化行阶梯形矩阵,从而求解方程组的方法。

它通过不断的行变换,将系数矩阵化为单位矩阵,从而得到方程组的解。

二、高斯消元法的步骤1. 构造增广矩阵:将线性方程组中的系数矩阵和常数矩阵合并,形成增广矩阵。

2. 主元选择:选取增广矩阵中的第一个非零元作为主元,将主元所在列的其他元素进行行变换,使其化为零。

3. 交换行:如果主元所在行的系数为零,则可以进行行交换,将非零行移到主元所在行。

4. 迭代计算:从第二行开始,重复进行主元选择和行变换,使整个增广矩阵形成简化行阶梯形矩阵。

5. 回代求解:根据形成的简化行阶梯形矩阵,反向求解线性方程组,得到方程组的解。

三、高斯消元法的优缺点1. 优点:a. 算法简单,易于实现。

b. 可以准确求解线性方程组的解。

c. 可以判断线性方程组的解的个数和解的形式。

2. 缺点:a. 当方程组的系数矩阵存在大量零元或接近零元时,可能会产生较大的舍入误差。

b. 在某些情况下,方程组的解可能无法唯一确定,或者无解。

四、高斯消元法的应用高斯消元法在科学与工程领域有着广泛的应用,特别是在线性代数、计算机图形学、金融数学等领域。

它可以用于求解线性方程组的解,计算矩阵的逆、行列式等。

五、高斯消元法的拓展1. 高斯-约旦消元法:在高斯消元法的基础上,通过对主元所在列的其他元素进行行变换,将主元化为1,从而形成行简化阶梯形矩阵。

2. 列主元高斯消元法:在主元选择时,选取主元所在列中绝对值最大的元素作为主元,从而减小舍入误差的影响。

3. 高斯消元法的数值稳定性:在进行高斯消元法计算时,需要注意舍入误差的积累,通过一些数值稳定的改进方法,可以提高计算的精度。

六、总结高斯消元法是解决线性方程组的一种常用方法,通过不断的行变换,将系数矩阵化为简化行阶梯形矩阵,从而求解方程组的解。

高斯列主元消去法例题

高斯列主元消去法例题

高斯列主元消去法例题高斯列主元消去法是解线性方程组的一种方法,也称为高斯-约旦(Gauss-Jordan)消去法。

它的基本思想是通过矩阵的初等行变换,将矩阵化为简化行阶梯形矩阵,然后根据系数矩阵的行列式是否等于0来求得唯一或无穷多解。

下面以一个例题来讲解高斯列主元消去法的步骤。

例题:解下列线性方程组x1 + 2x2 + 3x3 = 94x1 + 5x2 + 6x3 = 247x1 + 8x2 + 10x3 =40首先,将方程组表示为增广矩阵的形式:1 2 3 | 94 5 6 | 247 8 10| 40接下来,要使用高斯列主元消去法,将增广矩阵化为简化行阶梯形矩阵。

具体步骤如下:1.将第一列中的绝对值最大的元素移到第一行。

7 8 10| 404 5 6 | 241 2 3 | 92.用第一行的首元素消元。

7 8 10| 400 1 -2| 60 -6 -21| -273.将第二列中的绝对值最大的元素移到第二行。

7 8 10| 400 -6 -21| -270 1 -2| 64.用第二行的次元素消元。

7 8 10| 400 1 -2| 60 0 -9| 95.将第三列中的绝对值最大的元素移到第三行。

7 8 10| 400 1 -2| 60 0 -9| 96.用第三行的末元素消元。

7 8 10| 400 1 -2| 60 0 1 | -1现在,我们得到了一个简化行阶梯形矩阵,可以根据系数矩阵的行列式是否等于0来求得唯一或无穷多解。

我们发现,最后一行只有一个非零元素,因此,对应的未知数x3的系数不为0,可以直接利用倒推法求得方程组的解。

7.用第二行解出x2x2 - 2x3 = 6x2 = 2x3 + 68.用第一行解出x1x1 + 8x2 + 10x3 = 40x1 + 8(2x3 + 6) + 10x3 = 40x1 + 26x3 = 8综上所述,该线性方程组的解为:x1 = -26t + 8x2 = 2t + 6x3 = t其中,t为任意常数。

(最新)用高斯消元法解一元线性方程组

(最新)用高斯消元法解一元线性方程组

(最新)用高斯消元法解一元线性方程组简介本文将介绍如何使用高斯消元法来解一元线性方程组。

高斯消元法是一种常见的线性方程组求解方法,通过消元和回代的过程,将线性方程组转化为上三角形矩阵,从而得到方程组的解。

步骤1. 将线性方程组写成增广矩阵的形式,其中每一行表示一个方程,每一列表示一个未知数和等号。

2. 选取第一个未知数系数不为零的行,将该行称为主元素所在的行。

3. 将第一个未知数系数不为零的行的首个系数乘以一个适当的常数,使其等于1。

4. 对于主元素所在行以下的每一行,计算一个常数将其首个系数消为零。

5. 上述步骤完成后,得到上三角形矩阵。

6. 从最后一行开始,代入已求得的未知数值,通过回代的方式依次求解其他未知数。

示例假设我们有以下一元线性方程组:2x + y = 5x - 3y = -7按照上述步骤进行计算,首先将线性方程组转化为增广矩阵的形式:[ 2 1 | 5 ][ 1 -3 | -7 ]选取第一个未知数系数不为零的行作为主元素所在的行,即第一行。

将第一行的首个系数乘以适当的常数,使其等于1:[ 1 0.5 | 2.5 ][ 1 -3 | -7 ]接下来,将主元素所在行以下的每一行,通过计算一个常数将其首个系数消为零:[ 1 0.5 | 2.5 ][ 0 -3.5 | -9 ]上述步骤完成后,得到上三角形矩阵。

然后,通过回代的方式求解未知数的值。

首先,代入最后一行的解,计算出最后一个未知数的值:x = -9 / -3.5 = 2.571然后,代入第一行的解,计算出第一个未知数的值:2x + y = 52 * 2.571 + y = 5y = 5 - 2 * 2.571 = -0.142因此,方程组的解为 `x = 2.571` 和 `y = -0.142`。

结论通过高斯消元法,我们可以解一元线性方程组。

这种方法简单有效,适用于各种线性方程组求解问题。

在实际应用中,可以使用计算机程序来实现高斯消元法,提高计算效率和准确性。

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

高斯列主元消元法解方程组
for c=1:n;
A(a,c)=1/(a+c-1);
end
end
b=[1:n]';
x=gauss(A,b);
fprintf('%12.8f ',x)
实验结果为:
-216.000000047350.00000120-57120.00000827
166320.00002178 -201600.00002425 85932.00000962
3、当n为50时,在command窗口输入如下代码:
format long
n=50;
for a=1:n;
for c=1:n;
A(a,c)=1/(a+c-1);
end
end
b=[1:n]';
x=gauss(A,b);
fprintf('%12.8f ',x)
实验结果为:
23964.74834020-4122991.37806186176597502.11690632-3260288682.1972771031898227709.80876200-181566275672.69705000 619956768219.91504000-1230092760464.934800001193508577123.06670000 -71714652666.11485300-587044042244.59863000-454093769462.97290000 1744941129911.71780000-2715153157131.341300002706193814657.00730000 758555481068.28345000-2729174782832.09330000-650678553386.91565000 770544482197.08948000661071297466.389400003114329102228.31640000 -2419453655729.64110000-2498342518894.922900001991167370388.64180000 806469536595.88586000-3357159715176.254400003434745294165.19480000 -1115456797533.65920000835226816241.179930001614362560020.15380000 -2300534244207.34180000781205861296.42358000-3724002810480.48780000 -101978267755.295900003815588397071.54350000-269576755745.41956000 -2354847317920.947800005144417865217.228500001355869718979.75980000 1213622862842.97950000-11349162850658.63300000367430197567.42474000 2362009479539.30520000712955508308.938350005794833430082.82320000 -2649289143449.391600002040834706833.95900000-2941986228491.25980000 -2402163300368.774400002234821162570.22750000

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

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

高斯列主元消元法解线性方程组一、题目:用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 行元互换。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

%利用高斯列主元消去法求如下线性方程组的解
clear all;
A=[3 -2 1 -1;4 0 -1 2;0 0 2 3;0 0 0 5]; b=[8;-3;11;15];
function [X,XA] = UpGaussFun(A,b)
%利用高斯列主元消去法求如下线性方程组的解
%A为一个n阶上三角非奇异矩阵
%b为线性方程组的阐述向量
%X为线性方程组AX=b的解
%XA为消元后的系数矩阵
N=size(A);
n=N(1);
index=0;
for i=1:(n-1)
me=max(abs(A(1:n,i)));%选列主元
for k=i:n
if(abs(A(k,i))==me)
index=k;
break;
end;
end;
end;
temp=A(i,1:n);
A(i,1:n)=A(index,1:n);
A(index,1:n)=temp;
bb=b(index);
b(index)=b(i);
b(i)=bb;%交换主行
for j=(i+1):n
if(a(i,i)==0)
disp('¶Ô½ÇÔªËØÎª0£¡');
return;
end;
l=A(j,i);
m=A(i,i);
A(j,1:n)=A(j,1:n)-l*A(i,1:n)/m;
b(j)=b(j)-l*b(i)/m;
end;
X=UpTriangleFun(A,b);
XA=A;
-----------------------------------------------------------------------------------------------------------------------------
% 函数定义
function [X,XA]= UpGaussFun(A,b)
%利用高斯列主元消去法求如下线性方程组的解
%A为一个n阶上三角非奇异矩阵
%b为线性方程组的阐述向量
%X为线性方程组AX=b的解
%XA为消元后的系数矩阵
[N,M]=size(A);
%N=sizes(A);
n=N;
index=0;
for i=1:(n-1)
me=max(abs(A(1:n,i))); %选列主元
for k=i:n
if(abs(A(k,i))==me)
index=k;
break;
end;
end;
temp=A(i,1:n);
A(i,1:n)=A(index,1:n);
A(index,1:n)=temp;
bb=b(index);
b(index)=b(i);
b(i)=bb; %交换主行
for j=(i+1):n
if(A(i,i)==0)
disp('¶Ô½ÇÔªËØÎª0£¡');
return;
end;
l=A(j,i);
m=A(i,i);
A(j,1:n)=A(j,1:n)-l*A(i,1:n)/m;
b(j)=b(j)-l*b(i)/m;
end;
end;
XA=A;
%数据测试
>>clear all;
A=[3 -2 1 -1;4 0 -1 2;0 0 2 3;0 0 0 5]; b=[8;-3;11;15];
>> [X,XA]=UpGaussFun(A,b)
X =
-3.0000
10.2500
11.0000
15.0000
XA =
4.0000 0 -1.0000 2.0000
0 -2.0000 1.7500 -2.5000
0 0 2.0000 3.0000
0 0 0 5.0000。

相关文档
最新文档