追赶法ppt
追赶法构造过程
追赶法构造过程追赶法仍然保持LU 分解特性,它是一种特殊的LU 分解。
追赶法充分利用了系数矩阵的三对角特点,而且使之分解更简单,得到对三对角线性方程组的快速解法。
解出。
及可由时,当,表示,则三对角方程的矩阵若记的计算公式,为:和的及的元素于是得计算,,,有:由矩阵乘法及相等定义y Ux d Ly LU A d Ax d d d d p b q n k c q a p b q q U p L n k c b p q a q p b q T n k k k k k k k k k i i i k k k k k k k k k =====-========+==--------),,,(),,3,2(),,3,2(21111111111111 γγγγγ⎥⎥⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎢⎢⎣⎡⎥⎥⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎢⎢⎣⎡=⎥⎥⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎢⎢⎣⎡----n n nn n n n n q q q p p p b a c b a c b a c b Doolittle 1221132111222111111γγγ 分解形式矩阵2) 追赶法算法1.输入变量个数n 、系数矩阵对应的三个向量a,b,c 、常数项b2. For k=2,3,…,n2.1 如果b k-1=0,则输出“追赶法失败”提示并终止2.2 a k ⇐ a k /b k-12.3 b k ⇐b k - a k *c k-12.4 d k ⇐d k - a k *d k-13.For k=n,n-1,…,13.1 x k ⇐ (d k - c k *x k+1)/b k时不能进行。
消元法的缺点,即当在消元法,因此也存来源于空间,但是因为追赶法节省了计算时间和存贮程,。
追赶法的特殊求解过法次数仅有较简单,计算量、乘除追赶法。
组的方法亦称为追赶法用这组公式解线性方程,,,分解的计算公式:综合以上,求解出计算公式为:0451,,1)(,,3,21,,2,1)(,,3,2111111111111=-⎪⎪⎪⎩⎪⎪⎪⎨⎧-=-==-==-====--=-===-==+---+-k k k k k k n n n k k k kk k k k k k k k k k k k nn n k k k k q Gauss Gauss n n k q x c y x q y x y p d y n k c p b q q a p d y b q Doolittle n n k q x c y x q y x nk y p d y d y注:因为三对角矩阵的非零元素都集中在三条对角线上,因此只用三个向量a,b,c来存储系数矩阵,这样可以把二维数据的存储变为一维数据存储。
追赶法(Thomas算法)
二、解三对角线性方程组的追赶法 定理1:满足引理1条件的三对角方阵A有如下形式的 唯一的克劳特分解。
p1 a2 A= pn
p2 a3 pn 1 an
1 q1 1 q2 =PQ 1 qn 1 1
其中
p1 = b1 (i = 1,2,, n 1) qi = ci pi p = b a q (i = 2,3,, n ) i i i 1 i
解三对角线方程组Ax = f可化为求解两个三角形 方程组
Py = f
Qx = y
(1) 解 Py = f
p1 a2 ( P, f ) = p2 a3 pn 1 an f1 f2 f3 pn f n
得
{
y1 = f1 / p1
yi = ( f i ai yi 1 ) / piຫໍສະໝຸດ (i = 2,3,, n )
( 2) 解 Qx = y
1 q1 1 q2 1 qn 1 1
x1 y1 x2 = y2 x y n n
得
xn = y n
xi = yi qi xi +1
i = n 1 , , 2 ,1
作业: P50 习题11
§2-4
追赶法(Thomas算法 算法) 追赶法 算法
一、对角占优矩阵
若矩阵A = ( aij )n× n 满足
|aii |> ∑|aij |
j =1 j ≠i ≠i
n
i = 1 , 2 , , n
则称A为严格对角占优矩阵.
若矩阵A = ( aij )n× n 满足
|aii | ∑|aij | ≥
j =1 j ≠i
n
i = 1 , 2 , , n
则称A为弱对角占优矩阵.
追赶法的数学理论
1、 追赶法的数学理论设系数矩阵为三对角矩阵则方程组Ax=f称为三对角方程组。
设矩阵A非奇异,A有Crout分解A=LU,其中L为下三角矩阵,U为单位上三角矩阵,记可先依次求出L,U中的元素后,令Ux=y,先求解下三角方程组Ly=f 得出y,再求解上三角方程组Ux=y。
事实上,求解三对角方程组的2追赶法将矩阵三角分解的计算与求解两个三角方程组的计算放在一起,使算法吏为紧凑。
其计算公式为:二、追赶法的算法和流程图算法:1) u(1)=r(1)/a(1),v(1)=c(1)/a(1).2)dui k=2,3,…n-1,zuo yi xia cao zuo:(1)u(k)=(r(k)-u(k-1)*b(k))/(a(k)-v(k-1)*b(k)).(2)v(k)=c(k)/(a(k)-v(k-1)*b(k)).3)u(n)=r(n)-u(n-1)*b(n))/(a(n)-v(n-1)*b(n)).4)x(n)=u(n).5)dui k=n-1,…,2,1,ji suan x(k)=u(k)-v(k)*x(k+1).三、追赶法的Matlab实现functionx=chase (a,b,c,f)chasen=length(b);ifn-1==length(a)fori=n-1:-1:1a(i+1)=a(i);endend%将a设置为n维向量c(1)=c(1)/b(1);f(1)=f(1)/b(1);fori=2:n-1b(i)=b(i)-a(i)*c(i-1);c(i)=c(i)/b(i);f(i)=(f(i)-a(i)*f(i-1))/b(i);endf(n)=(f(n)-a(n)*f(n-1))/(b(n)-a(n)*c(n-1)); fori=n-1:-1:1f(i)=f(i)-c(i)*f(i+1);endx=f;四、追赶法的算例实现clear all;a=[-4,-4,-4,-4];b=[1,1,1];c=[1,1,1];r=[1,1,1,1]; n=length(a);b=[0,b];u(1)=r(1)/a(1);v(1)=c(1)/a(1);for k=2:n-1u(k)=(r(k)-u(k-1)*b(k))/(a(k)-v(k-1)*b(k)); v(k)=c(k)/(a(k)-v(k-1)*b(k));endu(n)=(r(n)-u(n-1)*b(n))/(a(n)-v(n-1)*b(n)); x(n)=u(n);for k=n-1:-1:1x(k)=u(k)-v(k)*x(k+1);endfprintf('Èý¶Ô½Ç·½³Ì×éµÄ½âΪ\n') for k=1:nfprintf('x(%1d)=%10.8f\n',k,x(k)) end>> li10_24fun三对角方程组的解为x(1)=-0.36363636x(2)=-0.45454545x(3)=-0.45454545x(4)=-0.36363636>>。
追赶法(源自#3-4)
【附注】 解三对角方程组的追赶法设已知方程组AX D =是三对角方程组,其 矩阵形式为b c a b c a b c a b x x x x d d d d n n n n n n n n n 1122211112112100 -----⎡⎣⎢⎢⎢⎢⎢⎢⎤⎦⎥⎥⎥⎥⎥⎥⎡⎣⎢⎢⎢⎢⎢⎢⎤⎦⎥⎥⎥⎥⎥⎥=⎡⎣⎢⎢⎢⎢⎢⎢⎤⎦⎥⎥⎥⎥⎥⎥ (3-40) 可以证明,若系数矩阵A 满足如下条件:(1) b i ≠0(2) b a c i i i ≥++-11 ()0≤≤i n(3) b a c i i i ≥+ ()0≤≤i n则三对角方程组(3-40)用追赶法可以稳定求解。
这里的条件(2)、(3)称为“对角占优”。
考察三对角方程组具有如下特点:首尾两个 方程各只含两个未知数,其余方程各含三个未知 数,而且后一个方程包含前一个方程的两个未知 数。
追赶法的基本思想是采用依次消元的方法, 依次从前一个方程“解”出一个未知数代入到下 一个方程,谓之“追”;代到最末一个方程时, 只剩下一个未知数,于是该方程可解。
然后将所 得到的解依次回代到前面的方程,解出全部未知 数,谓之“赶”。
前后合一,故称追赶法。
为了导出追赶法的计算公式,将式(3-40)写 成方程组形式b xc xd a x b x c x d a x b x c x d a x b x c x d a x b x d i i i i i i i n n n n n n n n n n n n 111212122232111211111+=++=++=++=+=⎧⎨⎪⎪⎪⎪⎩⎪⎪⎪⎪-+------- (3-41) 由方程组(3-41)第一式解出x 1211111x b c b d x -= 令:u c b 111= ,v d b 111= (3-42)x v u x 1112=- (3-43) 将式(3-43)和(3-42)代入到方程组(3-41)第二式解 出x 2x v u x 2223=- (3-44) 其中:u c b a u 22221=- v d a v b a u 2221221=-- (3-45) 依次做下去,由方程组(3-41)第i 式解出x i x v u x i i i i =-+1 (3-46) 其中:u c b a u i i i i i =--1v d a v b a u i i i i i i i =----11 (3-47) 最后,由方程组(3-41)第n 式解出x nx d a v b a u v n n n n n n n n =--=--11(3-48) 因为最后一个方程只剩一个未知数x n ,所以只有 v n ,没有u n 。
5.LU分解ppt课件
2
内容:LU分解. 关键词: 1.LU分解 :将系数矩阵A转变成等价两个矩 阵L和U的乘积 ,其中L和U分别是下三角和 上三角矩阵 ,而且要求U的对角元素都是1. 2.紧凑格式:由于可以把L和U两个矩阵压缩 到一个数组中,而且还可以存储在原来的系 数矩阵A的数组中.这种LU分解常被称为紧 凑格式.
a1 b1 , 1 c1 a1
ai bi ai i1
(i 2,3, , n)
i ci (bi i i1 )
(i 2, , n)
15
实现A的Crout分解后
求解
Ax d
当A LU时,可由 Ly d及Ux y解出
从而得之对角方程组的 计算公式
1
c1 a1
i
bi
ci
a i i 1
9
特殊方程组的解法
1.追赶法 2.LDLT分解法
10
1.追赶法
追赶法与稀疏线性方程组
追赶法仍然保持LU分解特性,它是一种特殊的LU分解。 充分利用了系数矩阵的特点,而且使之分解更简单,得 到对三对角线性方程组的快速解法。
因三对角矩阵的非零元素呈“带状”, 我们也因此将它叫做带状矩阵。
11
三对角线性方程组:
i
( B )即根据矩阵乘法及相等
定义,有:
b1 a1 , c1 a11 ; ai i , bi i i1 ai (i 2, , n)
ci ai i (i 2, , n 1)
由比较系数所得关系式 推得计算ai ,i , i 的计算公式
14
追赶法计算公式
i ai
(i 1,2, , n 1)
li1=ai1 / u11
i=2,3,…,n
lii 1
第4节 追赶法
b1 a 2
2 n 1 1 第3列
i 2,3,, n
于是,由以上结果: ci i i , i 1,2,, n
bi i i 1 i , i 1,2,, n ai i , i 2,3,, n
1 1 1 b2 c2 2 2 1 a 3 b3 3 3 c n 1 a n bn n n 0 0 ai ai i 1 0,,0, i , i ,0,,0 i 2 i, 1 i-1列 i -1行 0 0 i-1列 c1
2 1 0 0 1 2 1 0 0 1 2 1 0 0 1 2
1 2 1 0 0
0 2 3 1 0
0 0 3 4 1
求解方程组Ly=y,即
2 1 0 0 0 3 2 1 0 0 0 4 3 1 0 1 0 y1 y 2 0 0 y 3 0 5 y4 1 4
i ai , i 2,3,, n 1 b1 i bi i i 1 , i 2,3,, n
i i
ci , i 1,2, , n 1
1 . 2
1 b1
对于i=1,2,…,n-1,计算
i
3
i i 1 bi 1 ai 1 i y1 b1 / a1
5. 如何实现解三对角矩阵方程组的追赶法的计算程序? 如何用该算法进行三次样条函数的构造?
此时,在完成并存贮矩阵L和U后,右端项第改变一次仅 需增加 n2 次运算。
ch2.3平方根法和追赶法
则线性方程组可化为两个三角形方程组
Ly b T 1 L x D y
方程组求解公式
y1 b1 k 1 yk bk lkj y j j 1 yn xn d n n yk xk d l jk x j j k 1 k
k 2, , n
k n 1, ,1
举例
二、追赶法 • 追赶法仍然保持LU分解特性,它是一种特殊的 LU分解。充分利用了系数矩阵的特点,而且使 之分解更简单,得到三对角线性方程组的快速 解法。
三对角线性方程组:
b1 x1 c1 x2 a x b x c x 2 1 2 2 2 3 an1 xn1 bn1 xn1 cn1 xn an xn1 bn xn d1 d2 d n 1 dn
x k ( yk ck x k 1 ) uk
“赶”的过程
k n 1 , n 2 , ,1
举例
(**)
若记d (d1 , d 2 , , d n )T ,则三对角方程的矩阵 表示 Ax d, 当 A LU时,可由Ly d及Ux y解出。
三对角矩阵计算公式为 :
x n yn un
y1 d 1 “追”的过程 y k d k l k y k 1 k 2 ,3 , , n
d1ln1l31 d 2ln 2l32 d 3ln3
d1l21ln1 d 2ln 2 d1ln1l31 d 2ln 2l32 d 3ln3 ... ... d1ln1
关于对角矩阵D对角元素及下三角矩阵元素的计算 公式如下(可以课后自己推导)
2 d k akk lkm d m (k 1,2,, n) m 1 k 1
解三对交线方程组追赶法
算量小,但增加了计算机的内存,则两者各有利弊。这实际上也是 一种计算方法好坏的衡量标准:两者兼顾。
稳定性可由定理17反映:
定理17 设有三对角线方程组 Ax,f其中A满足(7.2)式,则
有 i1 ,因此用归纳法证明。(2)、(3)只要用三角不等式即可证 得。
于是,解 Ax 化f 为解两个方程组:
b3 a4
c3 b4
x3 x4
f4 f4
b1 a2
c1 b2
x1 x2
f1 f2
LU
(7.3)
rn
a n
1
n1
1
由矩阵乘法, 得:
(1)b 1 a 1 ,c 111 ,1 c 1 /b 1
(2)a i r i,b i i r i i 1 a i i 1 ,( i 2 , ,n )
b1
c1
0
0
A
0
b2
c1 b1
a2
a3
c2 b3
c3
b1
0
c1
0 0
A(2)
B
0
0
an bn
显然,deA t) (b1deBt)(
解三对交线方程组的追赶法
VS
矩阵元素的微小变化
在三对交线方程组中,矩阵元素的微小变 化可能会导致解的巨大变化。这种敏感性 使得追赶法在面对某些问题时表现出数值 不稳定性。
提高数值稳定性和减小误差方法
选择合适的算法参数
在追赶法中,可以通过选择合适的算法参数来提高数值稳定性。例如,可以采用部分选主元策略来避免矩阵元素的微 小变化对解的影响。
优缺点分析
优点
追赶法具有计算量小、存储量低、易于编程实现等优点。对于大规模的三对角 线性方程组,追赶法通常比其他方法更加高效。
缺点
追赶法的适用范围有限,仅适用于系数矩阵为三对角矩阵的线性方程组。此外, 当系数矩阵不满足对角占优等条件时,追赶法可能无法收敛或收敛速度较慢。
Part
02
三对交线方程组数学模型建立
问题描述与定义
三对交线方程组
在二维平面上,给定三对直线,每对直线相交于一个点,这三对交线构成的方程组称为三对交线方程 组。
求解目标
通过给定的三对交线信息,求解出这三对直线的交点坐标。
数学模型构建方法
直线方程表示
在二维平面上,一条直线可以用一般式方程 $Ax + By + C = 0$ 表示,其中 $A, B$ 不同时为0。
THANKS
感谢您的观看
回代过程
从最后一个方程开始,依次将已知量代入方程求 解,得到未知量的值。此过程称为回代过程。
关键算法实现技巧
存储优化
追赶法中的系数矩阵是三对角 的,因此可以采用一维数组进 行存储,节省存储空间。
消元技巧
在消元过程中,需要注意消元 顺序和消元系数的选择,以确 保消元过程的稳定性和效率。
回代技巧
在回代过程中,需要按照正 确的顺序将已知量代入方程 求解,避免计算错误。
Ch 3.2.2 平方根法和追赶法
aij li1l j1 li 2l j 2 lij l jj ( i j ) l ij (aij l ik l jk ) l jj
k 1
aii li1li1 li 2li 2 lii lii
n
2 ) ( i j ) l ii (aii l ik k 1
L x y, 求x .
21
nn
设n阶对称正定矩阵A有分解 A LLT,先用待定系数法求L的元 素 l ij 。 a11 a12 a1n l l l l
11 a 21 a 22 a 2 n l 21 令A a a a l nn n1 n 2 n1
k 1
i 1
优点: n3 1、计算量小,大约为 6 次乘除法 ,同平方根方法,是一般 矩阵A的LU分解(消元法)计算量的一半,是目前解对称正定方 程组的有效方法。
d1 1 l 21 l n1 a11 a12 a1n 1 d2 1 l n2 a 21 a 22 a 2 n l 21 1 A LDLT a a a l l 1 d 1 n n1 n 2 nn n1 n 2 2.求解计算 Ly b , 求y T 求解Ax b 求解LDL x b T 1 求x L x D y, y1 b1 xn yn d n i 1 1) n 2 ) y y b l y , ( i 2 , , n ) , i i ik k i x l ki x k ( i n 1, ,2,1) . i k 1 d i k i 1
追赶法(Thomas算法)
定理1:满足引理1条件的三对角方阵A有如下形式的 唯一的克劳特分解。
p1 a2 p2
1 q1
1 q2A Nhomakorabea
a3 pn1
an
pn
=PQ
1 qn1
1
其中
qpi1
b1 ci
pi
i 1,2,, n 1
得
xi yi qi xi1
i n 1,,2,1
作业:
P50 习题11
感谢您的下载让小编的努力能帮助到您, 最后一页是小编对你的谢谢哦,提醒一下, 下载好了几个全部自己看一遍,把用不上 的删除哦!包括最后一页!
yi fi ai yi1 / pi i 2,3,, n
(2) 解Qx y
1
q1 1
q2
1
qn1
1
x1 x2
y1 y2
xn yn
xn yn
pi
bi
aiqi1
i 2,3,, n
解三对角线方程组 Ax f可化为求解两个三角形 方程组
Py f Qx y
(1) 解Py f
p1
f1
a2 p2
f2
(P, f )
a3
f3
pn1 an
pn
f
n
得
y1 f1 / p1
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
ui bi ci1li
解Ly d得:
y1 d1
yk
dk
lk yk 1
(k 2,3,L , n)
再解Ux
y得:
xn xk
yn / un ( yk ck
xk 1 )
/
uk
(k n 1, n 2,L
,1)
追 赶 法 的 基 本 思 想 与 G ause消 去 法 及 三 角 分 解 法 相 同,只
an bn xn dn
此系数矩阵的非零元素集中分布在主对角线及其相邻两次对角线
上,称为三对角矩阵。方程组称为三对角方程组。
-
1
追赶法(续)
定理:设三对角方程组系数矩阵满足下列条件:
b1 bi
c1 ai
0 ci
bn
an
0
则它可分解为
aici 0(i 2, 3,L , n 1)
追赶法
在数值计算中,如三次样条插值或用差分方法解常微分方 程边值问题,常常会遇到求解以下形式的方程组
b1 c1
a
2
b2
c2
x1 d1
x2
d2
OOO
M M
ai bi ci
xi
di
简记 Ax d.
OO O
M M
an1 bn1 cn1 xn1 d n1
1
l
2
1
u1 c1
u2 c2
A LU
l3 1 OO
OO
O
c
n
1
ln 1
u n
其 中 ci (i 1, 2,L , n 1)为 已 给 出 的 , 且 分 解 是 唯 一 的
-
2
追赶法的计算公式
A LU 分解公式:
u1 li
b1 ai
/
u i 1
(i 2,3,L , m) <
A
上述定理也表明,追赶法的原理和高斯消去பைடு நூலகம்
法相同,但考虑到方程组的特点,计算时会把大
量零元素撇开,从而大大节省计算量。
-
4
追赶法例题
例 用追赶法解下面三对角方程组
3 1 0 0 x1 10
1
4
1
0
x2
11
0 0
1 0
6 2
1 8
x3 x4
30
4
8
-
5
是 由 于 系 数 中 出 现 了 大 量 的 零 ,可 使 计 算 公 式 简 化 ,减 少 了 计
算 量 。 可 证 ,当 系 数 矩 阵 为 严 格 对 角 占 优 时,此 方 法 具 有 良 好 的
数值稳定性。
-
3
追赶法
事实上,追赶法的求解过程就是将系数矩阵 分解两个简单的二对角矩阵,从而归结为求解两 个简单方程组的过程。