高斯消元法(含MATLAB编程)
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
∑a
k =1
n
ik kj
b ,
都有 aik bkj = 0,∴ cij = 0, i < j
且
i = j , cii =
∑a
k =1
n
ik
bki = a ii bii = 1
− 8.由 L = L1 1 L−1 L L−11 ,(见(2.21)式),证明: (2.21)式 证明: 2 n−
1 l21 1 l l32 31 L= M M M M l n1 ln 2
第2次选列主元后的增广矩阵 次选列主元后的增广矩阵 10 -7 0 0 0 5/2 -1/10 5 6
7 5/2 61/10
第2次消元后的增广矩阵 次消元后的增广矩阵 10 0 0 -7 5/2 0 0 5 31/5 7 5/2 31/5
(1/4503599627370496 1/4503599627370496, 回代求解 x = (1/4503599627370496,-1 ,1 )’
7.证明: 证明: (1)单位下三角阵的逆仍是单位下三角阵 单位下三角阵的逆仍是单位下三角阵。 (1)单位下三角阵的逆仍是单位下三角阵。 A
−1
证明:对下三角阵有 aij 证明:
= 0, i < j , aij 的代数余
必然也是下三角阵, 子矩阵 Aji 必然也是下三角阵,且有
Aji = 0, i < j 故 A−1 的对应元素
用MATLAB编写列主元消元法程序如下: MATLAB编写列主元消元法程序如下: 编写列主元消元法程序如下 clear format rat
[m,n]=size(A); for i=1:(m-1) numb=int2str(i); disp(['第',numb,'次选列主元后的增广矩阵']) temp=max(abs(A(i:m,i))); [a,b]=find(abs(A(i:m,i))==temp);
第2次消元后的增广矩阵 次消元后的增广矩阵
4 0 0 0
3 7/4 0 0
2 3/2 12/7 10/7
1 5/4 10/7 20/7
1 1/4 -12/7 -10/7
第3次消元后的增广矩阵 次消元后的增广矩阵 4 0 0 0 3 7/4 0 0 2 3/2 12/7 0 1 5/4 10/7 5/3 1 1/4 -12/7 0
习 题 解 答
1.用高斯消元法求解下列方程组 1.用高斯消元法求解下列方程组 Ax = b.
4 1 1 −1 1 3 (1) A = 1 2 −2 b = 0 ;(2) 2 −2 1 1 1 1 3 2 1 1 4 3 2 1 b = 3 4 3 −1 2 3 4 −1
%回代过程 disp('回代求解') x(m)=A(m,n)/A(m,m); for i=(m-1):-1:1 x(i)=(A(i,n)-A(i,i+1:m)*x(i+1:m)')/A(i,i); end x (1)输入增广矩阵A=[1 0;(1)输入增广矩阵A=[1 1 -1 1;1 2 -2 0;-2 1 1 1] 输入增广矩阵 第1次消元后的增广矩阵 次消元后的增广矩阵
1 M O M 1 ln 3 L ln ,n−1
1
证明: 证明:
1 M 0 −1 Lk = M M 0 O L M 0 1 M lnk M lk+1,k 0 M 0 = I + lk , lk = O M M 1 0 L 0 1 O L M 0 0 M lnk M lk+1,k O 0 L 0 0
bij = Aji A = 0, i < j ,
且有
aii = 1时, bii = Aii
A = 1.
(2)单位下三角阵的乘积仍是单位下三角阵。 (2)单位下三角阵的乘积仍是单位下三角阵。 单位下三角阵的乘积仍是单位下三角阵 证明: 证明:aij = 0, bij = 0, i < j , cij = 考查 aik bkj : 当 k < j时, bkj = 0, k ≥ j时, i < k , aik = 0,
(0, 回代求解 x = (0,1,-1 ,0 )’ 2.用列主元消元法求解下列方程组 2.用列主元消元法求解下列方程组 Ax = b.
0 2 0 1 0 −3 2 6 4 2 2 3 2 −2 b = (1) A = 10 −7 0 b = 7 ;(2) 4 −3 0 1 −7 5 −1 5 6 6 1 −6 −5 6
2 1 -1/2 − 3/2 1 -2/3 1 , U= L= -1 4/3 1 -3/4 1 -4/5 -1 5/4 1 -1 6/5
解:Ly = b, 得:y =(1 / 2, 1 / 3, 1 / 4, 1 / 5, 1 / 6) 解:Ux = y , 得:x =(5 / 6, 2 / 3, 1 / 2, 1 / 3, 1 / 6)
'
3 2 1 1 4 3 2 1 1 4 3/4 4 3 2 1 3/4 7/4 3/2 5/4 1/4 → (2)[ A: b] = 1/2 3 4 3 −1 1/2 6/7 4 3 −1 4 −1 1/4 2 3 4 −1 1/4 5/7 3 3 2 1 1 4 3 2 1 1 4 3/4 7/4 3/2 5/4 1/4 3/4 7/4 3/2 5/4 1/4 → → , 1/2 6/7 12/7 10/7 -12/7 1/2 6/7 12/7 10/7 -12/7 −1 1/4 5/7 5/6 5/3 0 1/4 5/7 5/6 4 2 1 1 4 3 3/ 4 1 7 / 4 3/ 2 5 / 4 ,U = L= 1/ 2 6 / 7 1 12 / 7 10 / 7 1 5/ 3 1/ 4 5/ 7
用MATLAB编写高斯消元法程序如下: MATLAB编写高斯消元法程序如下: 编写高斯消元法程序如下 clear format rat
[m,n]=size(A); for i=1:(m-1) numb=int2str(i); disp(['第',numb,'次消元后的增广矩阵']) for j=(i+1):m A(j,:)=A(j,:)-A(i,:)*A(j,i)/A(i,i); end A end
第3次消元后的增广矩阵 次消元后的增广矩阵
1 −6 −5 6 6 0 −11/ 3 4 13/ 3 −11 0 0 75 /11 62 /11 −9 0 0 39 / 25 −78 / 25 0
,1,1/3,回代求解 x = (-1/2 ,1,1/3,-2)’
disp(['第',numb,'次消元后的增广矩阵']) for j=(i+1):m A(j,:)=A(j,:)-A(i,:)*A(j,i)/A(i,i); end A end %回代过程 disp('回代求解') x(m)=A(m,n)/A(m,m); for i=(m-1):-1:1 x(i)=(A(i,n)-A(i,i+1:m)*x(i+1:m)')/A(i,i); end x
(1)输入增广矩阵A=[(1)输入增广矩阵A=[-3 2 6 4;10 -7 0 7;5 -1 5 输入增广矩阵A=[ 6] 第来自百度文库次选列主元后的增广矩阵 次选列主元后的增广矩阵 10 -3 -7 2 6 0 4 6 7 61/10 5/2 7
第1次消元后的增广矩阵 次消元后的增广矩阵 5 -1 5 10 -7 0 0 0 -1/10 5/2 6 5
6.用追赶法解三对角方程组 Ax = b
2 −1 0 0 0 1 −1 2 −1 0 0 0 A = 0 − 1 2 − 1 0 , b = 0 0 0 − 1 2 − 1 0 0 0 0 −1 2 0
1 0
1 1
-1 -1 -1 -1 -1 2
1 -1 3 1 -1 6
第2次消元后的增广矩阵 次消元后的增广矩阵 0 3 1 1 0 1 0 0 回代求解 x = (2,2 ,3 )’
(2) 输入增广矩阵 A=[4 3 2 1 1;3 4 3 2 1;2 3 4 3 -1;1 2 3 4 -1] 第1次消元后的增广矩阵 次消元后的增广矩阵 4 0 0 0 3 7/4 3/2 5/4 2 3/2 3 5/2 1 5/4 5/2 15/4 1 1/4 -3/2 -5/4
第1次消元后的增广矩阵 次消元后的增广矩阵
1 −6 −5 6 6 0 5/ 3 5 11/ 3 −4 0 −11/ 3 4 13/ 3 −11 2 0 1 0 0
第2次选列主元后的增广矩阵 次选列主元后的增广矩阵
1 −6 −5 6 6 0 −11/ 3 4 13/ 3 −11 0 5/ 3 5 11/ 3 −4 2 0 1 0 0
4. 用直接 分解方法求 题中两个矩阵的 分 用直接LU分解方法求 题中两个矩阵的LU分 分解方法求1题中两个矩阵的 解,并求解此二方程组。 并求解此二方程组。
1 1 −1 1 0 0 1 1 −1 (1) 1 2 −2 = 1 1 0 * 0 1 −1 −2 1 1 −2 3 1 0 0 2 ' Ly = b ⇒ y = (1, −1,6) Ux = y ⇒ x = (2,2,3)
1 0 1/ 4 1 , 解 Ux = y ,得 x = y= − 12 / 7 −1 0 0 5.用改进的平方根法求解方程组 5.用改进的平方根法求解方程组 Ax = b.
2 −1 1 A = −1 −2 3 = LDLT 1 3 1 1 2 1 −1/ 2 1/ 2 * * = −1/ 2 1 −5 / 2 1 −7 / 5 1/ 2 −7 / 5 1 27 / 5 1 x = (10 / 9,7 / 9, 23/ 9)T
(2) 输入增广矩阵 A=[0 2 0 1 0;2 2 3 2 -2;4 -3 0 1 -7;6 1 -6 -5 6] 第1次选列主元后的增广矩阵 次选列主元后的增广矩阵
6 1 −6 −5 6 2 2 3 2 −2 4 −3 0 1 −7 0 2 0 1 0
第2次消元后的增广矩阵 次消元后的增广矩阵
1 −6 −5 6 6 0 −11/ 3 4 13/ 3 −11 0 0 75 /11 62 /11 −9 0 0 24 /11 37 /11 −6
第3次选列主元后的增广矩阵 次选列主元后的增广矩阵
1 −6 −5 6 6 0 −11/ 3 4 13/ 3 −11 0 0 75 /11 62 /11 −9 0 24 /11 37 /11 −6 0