解线性方程组的直接法
解线性方程组的直接方法

解线性方程组的直接方法一、高斯消元法高斯消元法是解线性方程组最常用的方法之一、它通过一系列的消元操作,将线性方程组转化为阶梯型方程组,从而求解未知数的值。
1.确定线性方程组的阶数和未知数的个数。
设线性方程组中有n个未知数。
2.将线性方程组写成增广矩阵的形式。
增广矩阵是一个n行n+1列的矩阵,其中前n列是线性方程组的系数矩阵,第n+1列是等号右边的常数。
3.通过初等行变换(交换行、数乘行、行加行)将增广矩阵化为阶梯型矩阵。
具体步骤如下:a.首先,找到第一个非零元素所在的列,将它所在的行视为第一行。
b.将第一行的第一个非零元素(主元)变成1,称为主元素。
c.将主元所在列的其他元素(次元素)变为0,使得主元所在列的其他元素只有主元素是非零的。
d.再找到第一个非零元素所在的列,将它所在的行视为第二行,并重复上述步骤,直到将增广矩阵化为阶梯型矩阵。
4.根据阶梯型矩阵求解未知数的值。
具体步骤如下:a.从最后一行开始,依次求解每个未知数。
首先,将最后一行中非零元素所在的列作为含有该未知数的方程,将该未知数的系数设为1b.将含有该未知数的方程中其他未知数的系数设为0,并对其他方程进行相应的变换,使得该未知数所在列的其他元素都为0。
c.重复上述步骤,直到求解出所有未知数的值。
高斯消元法的优点是简单易懂、容易实现,但当线性方程组的系数矩阵接近奇异矩阵时,计算精度可能会降低。
二、矩阵求逆法矩阵求逆法是解线性方程组的另一种直接方法。
它通过对系数矩阵求逆,然后与常数矩阵相乘,得到未知数的值。
1.确定线性方程组的阶数和未知数的个数。
设线性方程组中有n个未知数。
2.将线性方程组写成矩阵方程的形式,即Ax=b,其中A是一个n阶方阵,x和b分别是n维列向量。
3.求系数矩阵A的逆矩阵A^-1a. 首先,计算系数矩阵A的行列式det(A)。
b. 判断det(A)是否为0,如果det(A)=0,则该线性方程组无解或有无穷多解;如果det(A)≠0,则系数矩阵A可逆。
解线性方程组的直接方法

(1.5)
消去法的回代过程是解上三角形方程组(1.5).我们从方程组(1.5)的第三个方 x3 6 / 6 1 ; 程解得 然后将它代入第二个方程得到
x2 ( 5 x3 ) / 3 2;
最后,将 x3 1, x2 2 代第一个方程得到
x1 (3 2 x2 3 x3 ) / 2 2.
②
(n+1)n/2次运算
i 1 l11 bi lij x j l21 l22 j 1 A xi , i 1, , n lii l l l nn n1 n 2
③
(n+1)n/2次运算
n u11 u12 u1n bi uij x j u22 u2 n j i 1 A x , i n, ,1 i uii u nn
1,2,...,n)
( 1 .2 )
Ax b,
a1n a2 n , ann
§1 1.1 Gauss 消去法 本章主要介绍求解线性方程组(1.1)的直接法。所谓直接法,就是不考虑 计算过程的舍入误差时,经有限次数的运算便可求得方程组准确解的方法.我 们还将在§5中对计算过程中的舍入误差作一些初步分析.
a11 a 21 A, b ... an 2
之间有一对应关系.不难看出:
a12 a22 ... an 2
... ... ... ...
a1n a2 n ... ann
b1 b2 ... bn
(1.3)
(1)交换矩阵(1.3)的第p,q两行(记作 的第p,q两个方程;
(1.8)
(1.9)
(1.9)式是消元过程的一般计算公式.式中作分母的元素
数值分析--解线性方程组的直接方法

值 为A的特征值,x为A对应的特征向量,A的全体特征值
分 析
称为A的谱,计作 ( A),即 ( A) {i ,i 1,2,, n}, 则称
》
( A)
max
1in
|
i
|
为矩阵A的谱 半 径.
三、特殊矩阵
第5章 解线性方程组的直接方法
1) 对角矩阵
2) 三对角矩阵
3) 上三角矩阵
4) 上海森伯(Hessenberg)阵
分 析
1.00x 1.00y 2.00
》 解法1: 1.00105 x 1.00 y 1.00
(1.00 1.00105) y (2.00 1.00105)
1.00105 x 1.00 y 1.00
1.00
105
y
1.00
105
x 0.00,
y 1.00
第5章 解线性方程组的直接方法
1
Ly b y 3,Ux y x 1.
2
1
第5章 解线性方程组的直接方法
§3 高斯主元素消去法
若ak(kk) 0,或ak(kk)很接近于0,会导致其他元素数量级严重 增长和舍入误差的扩散,使得计算结果不可靠.
《例3’采用3位十进制,用消元法求解
数 值
1.00105 x 1.00y 1.00
L21L1 U2U11
L21L1
U
U 1
21
I
(因为上式右边为上三角矩阵,左边为单位下三角矩阵
从而上式两边都必须等于单位矩阵)
《 数
L1 L2 , U1 U2
1 1 1
值分例2
析
.例1中,A
0
4
-1,将A作LU分解。
解线性方程组的直接方法

解线性方程组的直接方法1.1 主元的选取与算法的稳定性1.1.1问题提出Gauss 消去法是我们在线性代数中已经熟悉的。
但由于计算机的数值运算是在一个有限的浮点数集合上进行的,如何才能确保Gauss 消去法作为数值算法的稳定性呢?Gauss 消去法从理论算法到数值算法,其关键是主元的选择。
主元的选择从数学理论上看起来平凡,它却是数值分析中十分典型的问题。
1.1.2实验内容考虑线性方程组n n n R b R A b Ax ∈∈=⨯,,编制一个能自动选取主元,又能手动选取主元的求解线性方程组的Gauss 消去过程。
1.1.3实验要求(1)取矩阵⎥⎥⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎢⎢⎣⎡=⎥⎥⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎢⎢⎣⎡=1415157,6816816816 b A ,则方程有解T x )1,,1,1(* =。
取10n =计算矩阵的条件数。
让程序自动选取主元,结果如何?(2)现选择程序中手动选取主元的功能。
每步消去过程总选取按模最小或按模尽可能小的元素作为主元,观察并记录计算结果。
若每步消去过程总选取按模最大的元素作为主元,结果又如何?分析实验的结果。
(3)取矩阵阶数20n =或者更大,重复上述实验过程,观察记录并分析不同的问题及消去过程中选择不同的主元时计算结果的差异,说明主元素的选取在消去过程中的作用。
(4)将上述矩阵A中的主元改为0.00006再重新作一次数值实验看看。
(5)选取其他你感兴趣的问题或者随机生成矩阵,计算其条件数。
重复上述实验,观察记录并分析实验结果。
1.1.4实验过程(1)程序:clear;clc;a=input('是否调整消元次序(是:1,否:0)');n=input('系数矩阵的阶数:');%构造题中给定形式的矩阵A(1,1)=6;A(1,2)=1;A(1,n+1)=7;%第n+1列取题中的bfor i=1:(n-2);A(i+1,i)=8;A(i+1,i+1)=6;A(i+1,i+2)=1;A(i+1,n+1)=15;end;A(n,n-1)=8;A(n,n)=6;A(n,n+1)=14;%自动消元if a==0;for i=1:(n-1);for j=(i+1):n;x=A(j,i)/A(i,i);for k=1:(n+1);A(j,k)=A(j,k)-x*A(i,k);end;end;end;y(n)=A(n,n+1)/A(n,n);for i=2:n;y(n-i+1)=A(n-i+1,n+1);for j=1:(i-1);y(n-i+1)=y(n-i+1)-A(n-i+1,n-j+1)*y(n-j+1);end;y(n-i+1)=y(n-i+1)/A(n-i+1,n-i+1);end;yend;%手动控制消元次序if a==1;for i=1:(n-1);A %显示每步消元的结果m=input('请选取作为主消元行的行号');for l=1:(n+1);c=A(i,l);A(i,l)=A(m,l);A(m,l)=c;end;for j=(i+1):n;x=A(j,i)/A(i,i);for k=1:(n+1);A(j,k)=A(j,k)-x*A(i,k);end;end;end;y(n)=A(n,n+1)/A(n,n);for i=2:n;y(n-i+1)=A(n-i+1,n+1);for j=1:(i-1);y(n-i+1)=y(n-i+1)-A(n-i+1,n-j+1)*y(n-j+1);end;y(n-i+1)=y(n-i+1)/A(n-i+1,n-i+1);end;yend;(2)数值实验结果及分析:1、根据要求当10n=时用Matlab算得Cond(A)=1727.6,让程序自动选主元,x=与精确解一致。
解线性方程组的直接方法主元素方法

17
设方程组
Ax b 的系数矩阵A的顺序主子式不为零
Ak
a11 a21
a12 a22
a1k a2 k akk
0, k 1,2,
, n 1,
ak1 ak 2
在Gauss消去法中,第一次消元时等价于用单位下三角阵
18
第二章 解线性方程组的直接方法
1 l 21 L1 l 31 l n1
(3)
等价于用矩阵
0 1 l32 ln 2
0 0 1 0
(i 3,4,, n)
(2) (2)
20
于是有
[ A , b ] L2 [ A , b ]
(3)
第二章 解线性方程组的直接方法
一般地,第k次消元等价于用矩阵
Lk 1 1 O lk 1 k lnk 1 O O 1
(2-13)
(k ) (k ) 左乘矩阵 [ A( k ) , b(k ) ], 其中 lik aik / akk (i k 1,, n)
经过
n 1
次消元后得到
21
21
第二章 解线性方程组的直接方法
(1) a11 [ A( n ) , b ( n ) ] 0
再用Gauss消去法求解,消元后得同解方程
(2 10b)
5.0 x1 0.96x 2 6.5 x3 0.96 4.12x 2 2.24x3 0.364 2.99x3 5.99
4
第二章 解线性方程组的直接方法
回代得解
x3 2.00, x2 1.00, x1 2.60
与准确解相同. 产生上述现象的原因在于舍入误差.因为按式(2-10)的 方程顺序进行消元时,主元
解线性方程组直接法

第三章 解线性方程组的直接法3.1 引言许多科学技术问题要归结为解含有多个未知量x 1, x 2, …, x n 的线性方程组。
例如,用最小二乘法求实验数据的曲线拟合问题,三次样条函数问题,解非线性方程组的问题,用差分法或有限元法解常微分方程、偏微分方程的边值等,最后都归结为求解线性代数方程组。
关于线性方程组的数值解法一般有两类:直接法和迭代法。
1. 直接法直接法就是经过有限步算术运算,可求得线性方程组精确解的方法(假设计算过程中没有舍 入误差)。
但实际计算中由于舍入误差的存在和影响,这种方法也只能求得线性方程组的近似解。
本章将阐述这类算法中最基本的高斯消去法及其某些变形。
2. 迭代法迭代法就是用某种极限过程去逐步逼近线性方程组精确解的方法,迭代法需要的计算机存储 单元少、程序设计简单、原始系数矩阵在计算过程中不变,这些都是迭代法的优点;但是存在收敛性和收敛速度的问题。
迭代法适用于解大型的稀疏矩阵方程组。
为了讨论线性方程组的数值解法,需要复习一些基本的矩阵代数知识。
3.1.1 向量和矩阵 用nm ⨯R表示全部n m ⨯实矩阵的向量空间,nm C⨯表示全部n m ⨯复矩阵的向量空间。
此实数排成的矩形表,称为m 行n 列矩阵。
⎪⎪⎪⎪⎪⎭⎫⎝⎛=⇔∈n n x x x 21x R x x 称为n 维列向量矩阵A 也可以写成其中 a i 为A 的第i 列。
同理 其中Ti b 为A 的第i 行。
矩阵的基本运算:(1) 矩阵加法 )( ,n m nm R C ,R B ,R A B A C ⨯⨯⨯∈∈∈+=+=n m ij ij ij b a c .(2) 矩阵与标量的乘法 ij j a ci αα== ,A C(3) 矩阵与矩阵乘法 p nk kj ikb acij ⨯⨯⨯=∈∈∈==∑m p n n m R C ,R B ,R A AB C ( ,1(4) 转置矩阵 ji ij T n m a c ==∈⨯ , ,A C R A (5) 单位矩阵 ()nn ⨯∈=Re ,,e ,e I n 21 ,其中()T k e 0,0,1,0,0 = k=1,2,…,n(6) 非奇异矩阵 设n n ⨯∈R A ,n n ⨯∈R B 。
线性方程组的直接解法程序设计

线性方程组的直接解法程序设计一、高斯消元法高斯消元法是解线性方程组最常用的方法之一、它通过消元和回代的方式,将线性方程组转化为上三角形式,进而求解未知数的值。
程序设计步骤如下:1.读入线性方程组的系数矩阵A和常数向量b;2.进行初等行变换,将系数矩阵A转化为上三角矩阵U,并同时对常数向量b进行相应的变换;3.判断是否有唯一解,如果主对角线上存在零元素,则方程组无解;如果主对角线上所有元素都非零,则方程组有唯一解;4.进行回代计算,求解未知数的值。
高斯消元法的优点是简单直观,容易理解和实现。
但是在一些情况下,会出现主对角线上有零元素的情况,此时需要进行行交换,增加了额外的计算量。
二、LU分解法LU分解法是另一种常用的线性方程组直接解法。
它将系数矩阵A分解为下三角矩阵L和上三角矩阵U的乘积,即A=LU。
程序设计步骤如下:1.读入线性方程组的系数矩阵A和常数向量b;2.进行LU分解,找到下三角矩阵L和上三角矩阵U;3.解第一个方程Ly=b,先求解向前替代方程,计算出y的值;4.解第二个方程Ux=y,再求解向后替代方程,计算出x的值。
LU分解法的优点是可以在多次需要解线性方程组的情况下重复使用LU分解的结果,提高计算效率。
但是LU分解法需要找到L和U的值,增加了额外的计算量。
三、数学实验在进行数学实验时,需要注意以下几点:1.线性方程组的系数矩阵应该是满秩的,以保证方程组有唯一解;2.对于大规模的线性方程组,可以使用稀疏矩阵存储和计算,减少内存和计算时间的消耗;3.在求解过程中,需要判断方程组是否有解,并且考虑特殊情况的处理;4.通过数学实验可以验证直接解法的正确性和有效性,分析计算结果的误差和稳定性。
综上所述,线性方程组的直接解法程序设计在计算方法和数学实验中都是重要的研究内容。
高斯消元法和LU分解法是常用的直接解法,通过编写程序并进行数学实验,可以深入理解和应用这些方法。
这些方法的有效性和稳定性对于解决实际问题具有重要意义。
线性方程组的直接解法

线性方程组的直接解法
线性方程组(linear equation system)是一类几何问题,也是解决线性系统和代数问题的重要方法,线性方程组由多个联立方程组成,这些方程中也可能含有未知量。
直接解法是把数学模型转换为数值模型,并给出实现其解题步骤的算法,它不同于间接求解的方法,既不做任何假设,也不处理不确定性问题,只是简单地直接求解线性方程组。
解线性方程组的直接解法主要分为三种,分别是高斯消元法、列主元消去法和列坐标变换法。
高斯消元法是一种比较常用的方法,主要是把线性方程组的未知量从左到右一步步求出来,其中用到的主要技术是把矩阵中部分元素消去为零,以便求解不定线性方程组的未知量。
而列主元消去法则是以一列为主元,去消除其他联立方程中出现的此列中的变量,从而最终求出其他未知变量的值。
最后,列坐标变换法是将线性方程组转换为一个更有利于求解的矩阵,其中未知量可以直接求得解答。
除了这三种常见方法外,还有一些更特殊的直接解法,比如要解常微分方程的未知函数,可以用拉格朗日方法和分部积分方法,再比如求解雅各比方程的根,可以通过主副方程互解求解,这种方法也叫作特征根法。
综上,解线性方程组的直接解法有高斯消元法、列主元消去法、列坐标变换法等;特殊问题可以采用拉格朗日方法、分部积
分法和特征根法等。
每种方法都有自己的优势,因此在使用时,可以根据问题的特点,选择适合的方法来解决。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
即求解方程组
x12 x1y1 y12 x1 y1 a1 1
x22
x2 y2
y22
x2
y2
a2
1
xx3422
x3 y3 x4 y4
y32 y42
x3 x4
y3 y4
aa34
1 1
x52 x5 y5 y52 x5 y5 a5 1
可确定椭圆方程(小行星轨道方程)
5
对一般线性方程组: A X = b, 其中
6x3 + 5x4 = 4
a22=0
3x4 = 6
x2 = 4x1 -16
x3 = -1 x3 = -1
无穷解
x4 = 2
13
复习 如A是NN矩阵
a11 a12 a13 … a1n
A
a21 a22 a23 … a2n
=
……
an1 an2 an3 … ann
第i行展开
则A的行列式为:
第j列展开
划掉A的第i 行和第j列后
解线性方程组的直接 法
4.1 引言
求解
Axb
•许多实际问题可归结为线性(代数)方程组 机械设备、土建结构的受力分析; 经济计划 输电网络、管道系统的参数计算; 企业管理 •大型的方程组需要有效的数值解法。 •数值解法的稳定性和收敛性问题需要注意。
2
小行星轨道计算问题
3
天文学家要确定一小行星的轨道, 在轨道平面建立以太阳为原点的 直角坐标系.在坐标轴上取天文单位(地球到太 阳的平均距离),对小行星作5次观察, 测得坐标 数据
(x1,y1), (x2,y2), (x3,y3), (x4,y4), (x5,y5)
将数据代入椭圆的一般方程: a1x2 + a2xy + a3y2 + a4x + a5y + 1 = 0
得 a1xk2 + a2xkyk + a3yk2 + a4xk + a5yk + 1 = 0
(k = 1, 2, 3, 4, 5)
an-1n-1xn-1 + an-1nxn =bn-1
annxn =bn
证明:x n
bn a nn
唯一
xn1
bn1an1nxn an1n1
n
bk akx j j
xk
jk1
ak k
,kn1,n2,..1.
用归纳法可证明x n-1,x n-2….x1是唯一的
11
例4.1:利用回代法求解线性方程组
8
a 11 a 12 ... a 1n
a 21 a 22 ... a 2 n ... ... ... ... a n1 a n 2 ... a nn
a 11 a 12 ... a 1n
a 21 a 22 ... a 2 n ... ... ... ... a n1 a n 2 ... a nn
9
AX=B上三角线性方程组表示为:
在求解小型(未知数较少)方程组时,直接法很有效. 在求解大型方程组时,迭代法是最有效的方法.
7
4.2 高斯消去法(Gaussian Elimination )
4.2.1 顺序高斯消去法
1. 上三角线性方程组(Upper-triangular Linear System)
定义4.1 NN矩阵A=[aij]中的元素满足对所 有i>j,有aij=0,则称NN矩阵A=[aij]为上三角 矩阵。如果A中的元素满足对所有i<j,有aij=0, 则称NN矩阵A=[aij]为下三角矩阵。
a11
A
a21
an1
a12
a22
a1n
a2
n
Hale Waihona Puke bb1 b
2
an2
a
nn
b n
x1
X
x
2
x
n
当系数矩阵A的行列式|A|≠0时,则方程组有唯一 解.
6
求解线性方程组: A X = b的一般过程:
输入: A,b
解方程组 算法
输出: X
直接法:经过有限步算术运算求得精确解 迭代法:从初始解出发,逐步求出近似解来逼近
4x1 – x2 + 2x3 + 3x4 =20 –2x2 + 7x3 - 4x4 =-7 6x3 + 5x4 = 4 3x4 = 6
x1 = (20 + x2 - 2x3 - 3x4 )/4=3 x2 = (-7-7x3 + 4x4 )/-2=-4
x3 = (4-5x4)/6=-1 x4 = 6/3=2
的行列式
n
n
de A ) t|A (| a i(j 1 )ijM ij a i(j 1 )ijM ij
j 1
i 1
14
n
n
de A ) t|A (| a i( j 1 )i jM ij a i( j 1 )i jM ij
j 1
i 1
23 8
A= 3 -4 5 -1
4 7 -6 9
5 -1 -4 -1 i=1,det(A)=2 -6 9-3 7+89
例4.2:证明下列线性方程组无解
4x1 – x2 + 2x3 + 3x4 =20
70x32 -+4x4 =-7
a22=06x3 + 5x4 = 4 3x4 = 6
x3 = 1/7
x3 = -1 x4 = 2
12
例4.3:证明下列线性方程组有无穷解
4x1 – x2 + 2x3 + 3x4 =20
0x2 + 7x3 - 0x4 =-7
16
➢ 高斯消元法: 思 首先将A化为上三角阵 ,再回代求解。
路
=
17
4 初等变换(Elementary Transformation) 下列三种变换可使一个线性方程组变换成另一
a11x1+ a12x2 +a13x3 +…+ a1n-1xn-1 + a1nxn =b1 a22x2 +a23x3 +…+ a2n-1xn-1 + a2nxn =b2 a33x3 +…+ a3n-1xn-1 + a3nxn =b3 …………. an-1n-1xn-1 + an-1nxn =bn-1 annxn =bn
2. 回代(Back Substitution)
设AX=B是上三角线性方程组,如果:
akk0, k=1,2..n,则方程组存在唯一解。
10
a11x1+ a12x2 +a13x3 +…+ a1n-1xn-1 + a1nxn =b1 a22x2 +a23x3 +…+ a2n-1xn-1 + a2nxn =b2 a33x3 +…+ a3n-1xn-1 + a3nxn =b3 ………….
-4 5 7 -6
=2(45-6)-3(-36+7)+8(24-35)=77
-4 -1 2 8 j=2,det(A)=-3 +5 +6
79 79
28 =77 -4 -1
15
3. 如果NN矩阵A=[aij]是上三角矩阵或下三
角矩阵,则:
n
deA t)(a1a 122 ..a.nn aii i1
定理:A是NN方阵,线性方程组AX=B有唯一解 当且仅当det(A)0