- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
数学实验作业2
数学实验作业2
19 -
PAGE
数学实验作业2
数学实验作业
学院:理学院
班级:统计11-1
姓名:吴
学号:1026
PAGE
PAGE 26
实验1
一、问题的提出
已知方程组,其中,定义为
通过迭代法求解方程组。
(1)选取不同的初始向量,和不同的方程组右端向量,给定迭代误差要求,用雅克比和高斯赛德尔迭代法计算,观察得到的迭代向量序列是否收敛?
(2)取定右端向量和初始向量,将的主对角元素成倍增长若干次,非主对角元素不变,每次用雅克比迭代法计算,要求迭代误差满足,比较收敛速度。
二、问题分析
问题(1)要求针对不同的初始向量,和不同的方程组右端向量,在迭代误差一定的情况下,分别用用雅克比和高斯赛德尔迭代法计算方程组,并分析迭代向量序列的收敛性与迭代次数。
问题(2)要求在右端向量和初始向量一定的条件下,将的主对角元素成倍增长若干次,非主对角元素不变。在迭代误差满足的条件下,用雅克比迭代法比较不同的收敛速度。
三、模型建立
对于一般的线性方程组,假设,雅克比迭代公式是
如果将分解为,
,,
迭代公式等价于如下的矩阵形式:
或
类似地,线性方程组的高斯赛德尔迭代公式是:
等价于如下的矩阵形式:
依据分析可知问题(2)要求迭代误差满足,在此,不妨问题(1)也采用相同的迭代误差。
针对问题(1),出于简化模型的目的,不妨初始向量分别取和,方程组右端向量也分别取和。
针对问题(2),出于简化模型的目的,分别取原的主对角元素的1到5倍,初始向量和方程组右端向量分别取和,在迭代误差满足的条件下,比较五次得到的迭代结果进行分析。
四、模型求解
针对问题(1),依据模型在初始向量为,方程组右端向量为时编写如下程序:
A=zeros(20);
for i=1:20
for j=1:20
if i==j
A(i,j)=3;
end
if i==j-1
A(i,j)=-1/2;
end
if j==i-1
A(i,j)=-1/2;
end
if i==j-2
A(i,j)=-1/4;
end
if j==i-2
A(i,j)=-1/4;
end
end
end
L=-tril(A,-1);
U=-triu(A,1);
D=diag(diag(A));
b=ones(20,1); %右端向量以下的程序对此出做相应的改动
%雅克比
B1=D\(L+U);
f1=D\b;
x0=zeros(20,1); %初始向量以下的程序对此出做相应的改动
i=1;
x=B1*x0+f1;
while norm(x-x0,inf)=1e-6 x0=x; %设置迭代精度为10e-5
x=B1*x0+f1;
i=i+1;
end
x i
%高斯赛德尔
B2=(D-L)\U;
f2=(D-L)\b;
y0=zeros(20,1); %初始向量以下的程序对此出做相应的改动
j=1;
y=B2*y0+f2;
while norm(y-y0,inf)=1e-6 y0=y; %设置迭代精度为10e-5
y=B2*y0+f2;
j=j+1;
end
y j
运行程序得到雅克比算法为了达到的迭代精度,迭代次数为20。高斯赛德尔算法为了达到的迭代精度,迭代次数为13。其结果为:
改变初始向量为,保持方程组右端向量不变为,得到雅克比算法为了达到的迭代精度,迭代次数为19。高斯赛德尔算法为了达到的迭代精度,迭代次数为13。
保持初始向量为不变,改变方程组右端向量为时,得到雅克比算法为了达到的迭代精度,迭代次数为1。高斯赛德尔算法为了达到的迭代精度,迭代次数为1。从结果看该取值很有可能使得方程组出现了病态解。
同时改变初始向量()和方程组右端向量()时,得到雅克比算法为了达到的迭代精度,迭代次数为20。高斯赛德尔算法为了达到的迭代精度,迭代次数为14。
当初始向量和方程组右端向量同时为时,方程求解的出现了特殊情况。因此在方程组右端向量为时,改变初始向量为,得到克比算法为了达到的迭代精度,迭代次数为21。高斯赛德尔算法为了达到的迭代精度,迭代次数为14。
综合上述程
原创力文档


文档评论(0)