计算方法(3)第三章 线性代数方程组的解法(1)
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
用回代法求解线性方程组
x1 x2 x2 x3 3 x3 x4 5 x4 13 x4 13 x4 4 7 13 13
解 x4 1 x3 (13 13x4 ) / 3 0 x2 ( 7 5 x4 x3 ) ( 7 5 0) 2 x1 4 x4 x2 4 1 2 1 故解为( x1 ,x2 ,x3 ,x4 )T (1, 2, 0, 1)T
A3=[1 2;-1 1;2 -1], b3=[-2;1;0],x3=A3\b3
注:系数矩阵A必须是行满秩或列满秩
【例】“求逆”法和“左除”法解恰定方程的性能 对比 (1)构造一个条件数很大的高阶恰定方程 randn('state',0); A=gallery('randsvd',100,2e13,2); x=ones(100,1); b=A*x; cond(A) ans = ti = 1.9990e+013 0.4400 (2)用“求逆”法求解 eri = tic 0.0469 xi=inv(A)*b; rei = ti=toc 0.0047 eri=norm(x-xi) rei=norm(A*xi-b)/norm(b)
第三章
线性代数方程组的解法
线性代数方程组的一般形式
a11 x1 a12 x2 a1n xn b1 a x a x a x b 21 1 22 2 2n n 2 am 1 x1 am 2 x2 amn xn bm
a11 0
Ei ai 1 E1 Ei a11
注意: aij随着消 元过程而改变, 旧值被新值冲掉
(i=2,3,…,n)
a11 x1 a12 x 2 a1n x n b1 a 22 x 2 a 2 n x n b2 a n 2 x 2 a nn x n bn
消去法的特点就是通过消元将一般线性方 程组的求解问题转化为三角方程组的求解问题。
一. 三角形方程组的解法
a11 x1 a12 x 2 a1n x n b1 a 22 x 2 a 2 n x n b2 a n1n1 x n1 a n1n x n bn1 a nn x n bn
n j 1
本算法用 Gauss 消元法来求线性方程组 的解。 n, aij , bi , ( i , j 1,2,, n) x1 , x2 ,, xn
3.1 (bk akj x j ) / akk xk 4 End
MATLAB For Gaussian Elimination
结论2 线性方程组Ax b有解(即相容)时, ) r n, 则方程组Ax b存在唯一解。 (1)秩( A) 秩( A
) r n, 方程组Ax b有无穷多解。 (2)r ( A) r ( A 通解 原方程组一个特解 对应齐次方程组的基 础解系的线性组合。
mik aik / akk aij aij mik akj bi bi mik bk
( i k 1,, n) ( i k 1,, n ; j k ,, n) ( i k 1,, n)
Gauss 消元法算法: 说明 输入 输出 步骤 1 For k 1,2,, n 1 1.1 If akk 0 then 输出“不能消元”, stop 1.2 For i k 1, k 2,, n 1.2.1 aik / akk mik 1.2.2 aij mik akj aij ( j k 1, k 2,, n) 1.2.3 bi mik bk bi 2 bn / an xn 3 For k n 1, n 2,,1
function X=gauss(A,b) %Input—A is an n×n nonsingullar matrix % ---b is an n×1 matrix %Output—X is the solution to the system AX=b
[n n]=size(A); % 确定A的维数 X=zeros(n,1); for k=1:n-1 for i=k+1:n % 消元过程 m=A(i,k)/ A(k,k); % A(k,k) ≠0 A(i,k+1:n)= A(i,k+1:n)-m*A(k,k+1:n); b(i)= b(i)-m*b(k); end
3.(Ei )(Ej ):
交换第i个方程与第j个方程。
a11 x1 a12 x 2 ... a1n x n b1 a 21 x1 a 22 x 2 ... a 2 n x n b2 a n1 x1 a n 2 x 2 ... a nn x n bn
a11 x1 a12 x2 a1n xn b1 a22 x2 a2 n xn b2 a33 x3 a3 n xn b3 an 3 x3 ann xn bn
a22 0
a11 x1 a12 x2 a1n xn b1 a22 x2 a2 n xn b2 ann xn bn
由上述分析可知,将第k列对角线以下的元素化为零时 即
Ei Ei (aik / akk )Ek (i k 1,, n)
bn x “回代”解得 n a nn n x 1 [b a kj x j ] k k a kk j k 1
其中aii 0
返回变量
(i 1,2,......,n)
函数名
(k n 1, n 2,,1)
function X=backsub(A,b) 参数表 %Input—A is an n×n upper- triangular nonsingullar matrix % ---b is an n×1 matrix %Output—X is the solution to the system AX=b n=length(b); A的第i行中第i+1列到第n列 X=zeros(n,1); 元素构成的行向量 X(n)=b(n)/A(n,n); for i=n-1:-1:1 X(i)=(b(i)-A(i,i+1:n)* X(i+1:n))/A(i,i); end
end
X=backsub(A, b); %回代求解
ai 2 Ei E2 Ei a22
(i=3,…,n)
继续下去到第k-1步,可将线性方程组化为如下上三角方程组:
a11 x1 a12 x2 a1n xn b1 a22 x2 a2 n xn b2 akk xk akn xn bk ank xk ann xn bn
(3)用“左除”法求解 tic;xd=A\b; td=toc, erd=norm(x-xd), red=norm(A*xd-b)/norm(b) td = ti = 0.0600 erd = 0.4400 0.0078 eri = red = 2.6829e-015 0.0469
rei =
0.0047
矩阵形式为
Ax = b
a12 a22 am 2 a1 n a2 n amn b1 b2 bm
其增广矩阵记为 A R m( n1)
a11 a A A, b 21 am 1
结论1 (线性代数方程组有解判别定理)线性方程组 ) Ax b有解的充分必要条件是:秩(A)=秩(A
数值求解方法本章主要介绍以下两类
直接法:利用Gauss消元或矩阵分解,通过有限次 运算可求出精确解。
迭代法:构造迭代格式,产生迭代序列,通过无限
次迭代过程求解。有限次截断得近似解。
3.1 解线性方程组的直接法 高斯消元法与选主元
高斯消元法是一个古老的方法,是求解 线性方程组 Ax=b 和满秩矩阵的逆矩阵 A-1 的一种直接方法。尽管它比较古老,但它具 有演算步骤,推算公式都系统化的特点。而 由它改进得到的选主元的消元法,还可以证 明是稳定的。因此,它至今仍然是求解方程 组的一种有效的方法。
常见是m n,称为欠定方程组(方程数少于未知数) 此时,从Ax b的无穷多个解中需求出2 范数最小的解。 即求 x , 使 || x ||2 min || x ||2 ,x满足Ax b。
)方程组Ax b无解(即不相容)。 r ( A) r ( A 常见是m n,称为超定方程组(又称矛盾方程组) 此时,向量b不在A的列空间R( A)之中,原方程组 无解,但可求出最小二乘意义下的解 x。 即求 x使 || b Ax ||2 2 min
A=[1 1 0 1;0 -1 -1 -5;0 0 3 13;0 0 0 -13] b=[4;-7;13;-13] X=backsub(A,b)
下三角方程组的一般形 式为:
Hale Waihona Puke Baidu
a11 x1 a21 x1 a22 x2
b1 b2
an1 x1 an 2 x2 ann xn bn
MATLAB实现:
x=A\b
本章介绍求解n阶线性方程组的数值方法 a11 x1 a12 x2 a1n xn b1 a21 x1 a22 x2 a2 n xn b2 an1 x1 an 2 x2 ann xn bn
二. 高斯消元法(Gaussian Elimination)
高斯消元法的求解过程,可大致分为两个阶段:首 先,把原方程组化为上三角形方程组,称之为“消元” 过程;然后,用逆次序逐一求出上三角方程组(原方程 组的等价方程组)的解,称之为“回代”过程. 符号约定: 1. (λEi )(Ei ): 2. (Ei +λEj )(Ei ): 第i个方程乘以非零常数λ。 第j个方程乘以非零常数λ 加到第i个方程。
x=A\b应用中应注意的问题
例:考察下面三个线性方程组的解 (A1) -x+y=1 -2x+2y=2
(A2) -x+y=1 -x+y=0
(A3) x+2y=-2 -x+y=1 2x-y=0
A1=[-1 1;-2 2], b1=[1;2],x1=A1\b1 A10=[-1 1], b10=[1],x10=A10\b10 A2=[-1 1;-1 1], b2=[1;0],x2=A2\b2
其中aii 0, i 1,2,, n 下三角形方程组可以参 照上三角形方程组的解 法来求解, 下三角形方程组的求解 顺序是从第一个方程开 始,按从上到下 的顺序,依次解出: x1 , x2 ,, xn , 其计算公式为: x b /a 1 1 11i 1 x (b a x ) / a ( i 2,3,, n) i i ik k ii k 1 如上解三角形方程组的 方法称为回代法 .