计算方法实验报告

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

1、用列主元Gauss 消去法解线性方程组Ax b =,其中:

810 2 31-1 3.712 4.623,2-2 1.072 5.6433A b -⎡⎤⎡⎤⎢⎥⎢⎥==⎢⎥⎢⎥⎢⎥⎢⎥⎣⎦⎣⎦

。 1)算法组织

1. For k=1,2,…,n -1 1.1 找满足ik k

i k

max k ααμ≥=的下标k μ

1.2 If 0=k k μα then 输出错误信息;stop 1.3 For

j=1,2,…n

1.3.1 j kj k μαα⇔

1.4 k k μββ⇔

1.5 For i=k+1,k+2,…n

1.5.1 ik kk ik /ααα⇒ 1.5.2 For j=k+1,k+2,…,n

1.5.

2.1

ik kj ik ij αααα⇒-

1.5.3 i ik i βαβ⇒-

2.

[回代过程]

2.1 n nn n x /⇒αβ

2.2 For k=n-1,n-2,…,1

2.2.1 k kk n

k j j ki k x /x ⇒⎪⎪⎭

-

∑+=ααβ1 2)计算结果与结果分析

列主元Gauss 消去法解线性方程组,在消去过程中,适当交换方程顺序,使绝对值最大的一个换到(k,k )位置,保证了消去过程的

顺利进行及计算解的精确度。

2、矩阵T LDL 分解与Cholesky 分解

求矩阵()2020ij A α⨯=的T LDL 分解与Cholesky 分解,其中 ,min(,),ij i i j

i j i j

α=⎧=⎨

≠⎩ 。

1)算法组织 1.1) 矩阵T LDL 分解

本算法计算分解式T A LDL =,A 只需给出下三角部分的元,L 存于A 的下三角部分,D 存放于A 的对角线上。

1. For k=1,2,…,n

1.1 For p=1,2,…,k-1

1.1.1

p

kp pp r ⇒αα

1.2 ∑-=⇒∙-1

1

k p kk

p kp kk r ααα

1.3 If

=kk α then 输出错误信息;stop

else

1.4

For i=k+1,k+2,…,n

ik kk k p p ip ik /r αααα⇒⎪

⎪⎭⎫

⎝⎛-∑-=11

1.2) Cholesky 分解

本算法n 阶对称正定矩阵A ,计算Cholesky 矩阵G ,其元存放于A 矩阵的(i ,k )位置上。

1. ()1121

11αα⇒

2. For i=2,3,…,n

2.1 For j=1,2,…,i-1

ij jj j p jp ip ij /ααααα⇒⎪

⎪⎭⎫

⎝⎛-∑-=1

1

2.2

ii

i p ip ii ααα⇒⎪

⎪⎭

⎫ ⎝⎛-∑-=2

1

1

12

2)计算结果与结果分析

当A对称时,A=LDL T;进一步,如果A还是正定矩阵,则A=GG T,G 为Cholesky三角阵。

3、求三对角方程组Tx f

的解,其中:

11000121000

13100014100015T ⎡⎤

⎢⎥⎢⎥

⎢⎥=⎢⎥

⎢⎥⎢⎥⎣⎦

,125(,,

,)T x x x x =,(3,8,15,24,29)T f =。

1)算法组织

本算法解三对角线性方程组,系数存于数组a 、b 和c 中,d 是右端向量。

1.

11μ⇒b ,11y d ⇒

2. For k=2,3,…,n 2.1 k

k k l /a ⇒-1μ

2.2 k

k k k c l b μ⇒∙--1 2.3 k

k k k y y l d ⇒∙--1

3.

n

n n x /y ⇒μ

4. For k=n-1,n-2,…,1 4.1

()k

k

k k k x /x c y ⇒∙-+μ1

2)计算结果与结果分析

矩阵的LU 分解同未选主元的Gauss 消去法完全等价,故一般情况下,算法TSS 不一定能顺利进行,或会产生大的误差。但本题中的矩阵是严格对角占优的,故不必进行行与列的交换,就能保证各步的主元就是绝对值最大的元。

4、用Jacobi 和Gauss Seidel -方法解线性方程组

1234 0.78 -0.02 -0.12 -0.140.76-0.02 0.86 -0.04 0.060.08-0.12 -0.04 -0.72 -0.08 1.12-0.14 0.06 -0.08 0.740.68x x x x ⎧⎫⎧⎫⎧⎫⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪

=⎨⎬⎨⎬⎨⎬⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪

⎪⎩⎭⎩⎭⎩⎭

1)算法组织 1.1) Jacobi 迭代

此种迭代方式的数学依据是:()

ii n i j j j ij i k i x x ααβ/10)

(⎪⎪⎪⎭

⎝⎛-=∑≠=

本算法用Jacobi 迭代求方程组的解,初始向量必须赋予()0x 中,结果在x 中。

1.

For

k=1,2,…, max N 1.1 For

i=1,2,…,n

1.1.1 ()

i ii n i j j j ij i x x ⇒⎪⎪⎪⎭

⎝⎛-∑≠=ααβ/10

1.2 ()e x x max i i i

⇒-0

1.3 If ε

1.4 For

i=1,2,…,n

1.4.1 ()0i i x x ⇒

2.

输出错误信息:“不收敛”;stop

1.2) Gauss Seidel -迭代

本算法用Gauss-Seidel 迭代解方程组,要求给出的初始向量赋予x 中,结果也在x 中。

1. For i=1,2,…,n

1.1 ()0i i x x ⇒

2.

For

k=1,2,…,max N

相关文档
最新文档