资源描述
实 验 报 告
实验名称
(教师填写)
求解线性方程组
实验目的
(教师填写)
掌握求解线性方程组的直接法与迭代法.
实验题目
(教师填写)
完成以下两题:
(1) 用追赶法求Ax=b的解,其中
(2) 用Jacobi方法求方程组Ax=b的解,要求(p=1或2或),其中
实验报告要求
(教师填写)
1。在实验内容与步骤中,填写基本的公式推导,之后根据推导出的公式编写程序,填入此栏。
2。 程序中应尽量写注释语言(中英文均可),例如:
a = 0; %对a 附初值0
for i = 1:100 %循环体从1到100,步长为1,开始循环
a = a+I; %执行从1+2+…+100的加法过程
end
3. 实验结果列出计算结果,或者作出图像.可以自由讨论所观察到的现象,如有疑问也可提出
4。 作业可已word文档发至scu_num_eng_experi@163。com,或者笔书后扫描成pdf文档发至上述邮箱。请在邮件标题上填好组长姓名、学号,在邮件正文中写组内所有成员的姓名、学号等,
实验内容与步骤
(学生填写)
如果步骤较多,请自行加页(A4幅面)
(1) .用追赶法求Ax=b的解,其中
分析:
Ax=b,其中A为三对角矩阵,A为严格对角占优矩阵,则Ax=b的解存在且唯一,所以对A进行LU分解,知L和U具有特殊形式,分别为
L=,U=,
令A=,
a从a2开始为便于运算,为避免重复,使题目中的矩阵b为e,利用矩阵乘法及矩阵相等可得,,其中n=4,于是对Ax=e的求解转换为求解两个简单方程组,解Ly=e得
,解Ux=y得
程序:
a=[0,2,3,6]; %定义三个向量,将三条对角线上的值分别赋给这三个向量,注意,为便于循环,将第一条对角线(最下一条)上的值赋给a向量时从第二个元素开始赋值,即令a(1)为0
b=[2,4,5,7];
c=[1,2,1];
e=[2,—1,3,2]; %e向量为题设给出的常数向量,即题目中的b
n=length(b); %取系数矩阵A主对角线元素个数
for i=1:1:n—1 %根据A=LU,求出矩阵L和U中的未知元素
d(i)=c(i);
end
u(1)=b(1);
for i=2:1:n
l(i)=a(i)/u(i—1);
u(i)=b(i)—l(i)*d(i-1);
end
y(1)=e(1); %根据Ly=e,Ux=y,求出向量x,即为方程的解
for i=2:1:n
y(i)=e(i)-l(i)*y(i—1);
end
x(n)=y(n)/u(n);
for i=n—1:-1:1
x(i)=(y(i)-d(i)*x(i+1))/u(i);
end
l
u
y
x
(2)。 用Jacobi方法求方程组Ax=b的解,要求(p=1或2或),其中
分析:根据Jacobi迭代法,将A分解为L,D,U
A=
(L+D+U)X=b;
;
;
通过计算,此迭代收敛。
我们选
代入迭代式中,求得,计算
判断,若是输出,否则,,重新代入迭代式求解,直至求出满足条件的解为止
程序:
A=[1 -2 2;—1 1 -1;—2 -2 1];
B=[0 2 -2;1 0 1;2 2 0];
g=[3;—2;-3];
x=[0;0;0];
k=0; %迭代次数变量
while 1
X=B*x+g; %迭代公式
E=0;
for i=1:3
E=E+abs(X(i)—x(i)); %计算X与x的误差
end
x=X; %将X赋值给x达到可迭代的目的
k=k+1; %迭代次数的计算
if(E〈=0。0005) %满足误差条件跳出循环,否则继续执行上述步骤
break;
end
end
X
k
实验结果与实验结论
(1)实验结果:
实验结论分析:追赶法的巧妙之处就是利用矩阵A为三对角矩阵实现LU矩阵的追赶求解,对于一个n阶三对角矩阵A,LU直接分解法运算量,而追赶法仅需5n—4次运算,可见追赶法在解三对角矩阵的优越性是LU直接分解法不可比拟的。
(2) 实验结果
实验结果与实验结论
(学生填写)
实验结论分析:
1。当迭代系数矩阵B的谱半径小于1,对于所有初始矩阵X都收敛。
2.我们选初始矩阵X=[0;0;0],迭代次数k=4,但选初始矩阵X=[0;1;0],迭代次数k=3;
说明不同初始矩阵,收敛结果相同,收敛速度可能有所不同。
3。注意:当迭代系数矩阵B的谱半不小于1,并不能说所有初始矩阵X都不收敛。
姓名
学号
班级
成绩
教师姓名: 时间:
展开阅读全文