数值分析·学习 | 平方根法和追赶法matlab实现
目录
四、总结:
一、前言:
个人学习内容分享
二、算法描述:
平方根法:
如果A为n阶对称正定矩阵,则存在一个实的非奇异下三角矩阵L,使,当限定L的对角元素为正时,这种分解是唯一的。
下面我们用直接分解方法来确定计算L元素的递推公式,因为
其中.由矩阵乘法及(当j<k时),得
于是得到对于求解Ax=b的平方根法计算公式:
对于j=1,2,...,n
求解Ax=b,即求解两个三角形方程组:
①Ly=b,求y; ②LTx=y,求x.
其中:
所以
改进的平方根法:
为了避免开方,我们下面用定理9的分解式A=
即
由矩阵乘法,并注意,得
于是得到计算L得元及D得对角元素公式:
对于i=1,2,...,n.
为了避免重复计算,我们引进tij=lijdj,由上式得到按行计算L,T元素得公式:d1=a11
对于i=2,3,...,n.
计算出T=LD的第i行元素tij(j=1,2,...,i-1)后,存放在A的第i行相应位置,然后再计算L的第i行元素,存放在A的第i行.D的对角线元素存放在A的相应位置。例如
对称正定矩阵A按分解和按分解计算量差不多,但分解不需要开方计算。
求解Ly=b,DLTx=y计算公式:
追赶法:
对于A为三对角矩阵时,可分解成以下形式
即可得到
从而求解Ax=f等价于解两个三角形方程组:
①Ly=f,求y,②Ux=y,求x.
进而追赶法公式为:
(1)计算{Bi}的递推公式
(2)解Ly=f
(3)解Ux=y
三、实现代码:
1、平方根法:
2、改进的平方根法:
3、追赶法:
四、总结:
浙公网安备 33010602011771号