追赶法

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

一、实验题目

用追赶法解线性三对角方程组:

⎥⎥⎥⎥⎦

⎤⎢⎢⎢⎢⎣⎡--=⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎣⎡⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎣⎡322141141141124321x x x x 二、实验目的

1.熟悉掌握追赶法法的基本原理和基本方法。

2.学会用追赶法法解简单的方程组。

三、实验原理

(1)f Ly =,求y ;(2)y Ux =,求x ; 从而得到解三对角线方程组的追赶法公式。

1. 计算的递推公式:

111/b c =β

)/(1--=i i i i i a b c ββ

2. 解:f Ly =

111/b f y =

a a

b y a f y i i i i i i i )/()(11----=β

3. 解:y Ux =

n n y x =

1+-=i i i i x y x β

四、实验内容及结果

原始数据:a=[1,1,1];

b=[2,4,4,4];

c=[1,1,1];

d=[1,-2,2,-3];

追赶法解三对角方程组:

程序源代码

%machase.m

function x=machase(a,b,c,d)

%用途:追赶法解三对角方程组Ax=d

%格式:x= machase(a,b,c,d) a为次下对角线元素向量,b主对角元素

% 向量,c为次上对角线元素向量,d为右端向量,x返回解向量

n=length(a);

for k=2:n

b(k)=b(k)-a(k)/b(k-1)*c(k-1);

d(k)=d(k)-a(k)/b(k-1)*d(k-1);

end

x(n)=d(n)/b(n);

for k=n-1:-1:1

x(k)=(d(k)-c(k)*x(k+1))/b(k);

end

输入:a=[1,1,1];

b=[2,4,4,4];

c=[1,1,1];

d=[1,-2,2,-3];

machase(a,b,c,d)

结果:ans =

0.9615 -0.9231 0.7308

五、实验结果分析

追赶法为一种特殊的LU分解法。追赶法是求解三对角矩阵的常用方法,但从整体编程角度分析,其程序编写较迭代法复杂,但通用性较好。追赶法求解三对角矩阵不但节省存储单元,而且可以减少计算量。

相关文档
最新文档