数值分析课程设计.docx
- 文档编号:2335964
- 上传时间:2022-10-28
- 格式:DOCX
- 页数:19
- 大小:164.09KB
数值分析课程设计.docx
《数值分析课程设计.docx》由会员分享,可在线阅读,更多相关《数值分析课程设计.docx(19页珍藏版)》请在冰豆网上搜索。
数值分析课程设计
安徽建筑大学
数值分析设计报告书
题目松弛迭代法中松弛因子
院系数理系
专业信息与计算科学
班级信息②班
学号12207210220
姓名穆海山
时间2013-12-10~2013-12-23
指导教师刘华勇
题目:
选用Jacobi迭代法、Gauss-Seidel迭代法和超松弛迭代法求解下面的方程组(考虑等于150)
=
考虑初值的变化和松弛因子的变化收敛效果的影响;对上述方程组还可以采用哪些方法求解?
选择其中一些方法编程上机求解上述方程组,说明最适合的是什么方法;将计算结果进行比较分析,谈谈你对这些方法的看法。
一、摘要
本课程设计用matlab就线性方程组数值方法,Jacobi迭代法,Gauss-Seidel迭代法,超松弛法对所设计的问题进行求解,并编写程序在Matlab中实现,在文章中对各种迭代法进行了收敛性分析。
接着用几种不同方法对线性方程组进行求解及结果分析,最后对此次课程设计进行了总结。
关键词:
线性方程组,迭代,Matlab,结果分析
二、设计目的
用熟悉的计算机语言编程上机求解线性方程组。
三、理论基础
对方程组
做等价变换
如:
令,则
则,我们可以构造序列
若
同时:
所以,序列收敛,与初值的选取无关
则转化为矩阵形式
(1)
令
或者
故迭代过程
(1)化为
(2)
等价线性方程组为
称
(2)式为解线性方程组
(1)的Jacobi迭代法(J法)
迭代矩阵考虑迭代式
(2)
即
将上式改为(3)
(4)
超松弛迭代
记
则
可以看作在前一步上加一个修正量。
若在修正量前乘以一个因子
有
对Gauss-Seidel迭代格式
迭代矩阵
四、程序代码及运算结果
1.利用Jacobi迭代法求解:
编制名为majacobifun.m的文件,内容如下:
function[x,n]=jacobifun(A,b,x0,eps)
%jacobifun为编写在雅可比迭代函数
%A为线性方程组的系数矩阵
%b为线性方程组的常数向量
%x0为迭代初始向量
%eps为解的精度
%x为线性方程组的解
%n为求出所需精度的解实际的迭代步数
D=diag(diag(A));
B=D\(D-A);
f=D\b;
x=B*x0+f;
n=0;
ifmax(abs(eig(B)))>=1
disp('Warning:
不收敛!
');
return;
end
whilenorm(x-x0)>=eps
x0=x;
x=B*x0+f;
n=n+1;
end
2.利用Gauss-Seidel迭代法求解:
编制名为G_Seidelifun.m的文件,内容如下:
nction[x,n]=G_Seidelifun(A,b,x0,eps)
%G_Seidelifun为编写在高斯-赛德尔迭代函数
%A为线性方程组的系数矩阵
%b为线性方程组的常数向量
%x0为迭代初始向量
%eps为解的精度
%x为线性方程组的解
%n为求出所需精度的解实际的迭代步数
D=diag(diag(A));
L=-tril(A,-1);
U=-triu(A,1);
G=(D-L)\U;
f=(D-L)\b;
x=G*x0+f;
n=0;
ifmax(abs(eig(G)))>=1
disp('Warning:
不收敛!
');
return;
end
whilenorm(x-x0)>=eps
x0=x;
x=G*x0+f;
n=n+1;
end
3.利用SOR迭代法求解:
编制名为SORfun.m的文件,内容如下:
function[x,n]=SORfun(A,b,x0,w,eps)
%SORfun为编写在松弛迭代函数
%A为线性方程组的系数矩阵
%b为线性方程组的常数向量
%x0为迭代初始向量
%w为松弛因子
%eps为解的精度
%x为线性方程组的解
%n为求出所需精度的解实际的迭代步数
if(w<=0||w>=2)
error
return;
end
D=diag(diag(A));
L=-tril(A,-1);
U=-triu(A,1);
S=(D-w*L)\((1-w)*D+w*U);
f=w*((D-w*L)\b);
x=S*x0+f;
n=0;
ifmax(abs(eig(S)))>=1
disp('Warning:
不收敛!
');
return;
end
whilenorm(x-x0)>=eps
x0=x;
x=S*x0+f;
n=n+1;
end
在Matlab命令窗口输入:
>>clear
w=1.5;
eps=1e-6;
n=150;
A=diag(8*ones(1,n-1),-1)+diag(6*ones(1,n))+diag(ones(1,n-1),1);
b
(1)=10.5;
b(n)=21;
fori=2:
n-1
b(i)=22.5;
end
b=b';
x0=zeros(n,1);
[x1,n]=jacobifun(A,b,x0,eps);
[x2,n]=G_Seidelifun(A,b,x0,eps);
[x3,n]=SORfun(A,b,x0,w,eps);
plot(x1);holdon
plot(x2,'r');holdon
plot(x3,'g*')
表1Jacobi、Guass_seidel、SOR迭代结果表
x0=zeros(n,1)
x0=ones(n,1)
w=1.5
w=1.1
w=1.5
w=1.1
雅可比
高斯-赛德尔
超松弛
雅可比
高斯-赛德尔
超松弛
不收敛!
不收敛!
n=
n=
n=
n=
n=
n=
n=
n=
0
843
55
663
0
833
53
655
x=
x=
x=
x=
x=
x=
x=
x=
1.0e+028*
1.0e+029*
1.0e+028*
1.0e+029*
1.75
0
1.5
0
1.5833
0
1.5
0
3.75
0
1.5
0
2.25
0
1.5
0
3.75
0
1.5
0
2.25
0
1.5
0
3.75
0
1.5
0
2.25
0
1.5
0
3.75
0
1.5
0
2.25
0
1.5
0
3.75
0
1.5
0
2.25
0
1.5
0
3.75
0
1.5
0
2.25
0
1.5
0
3.75
0
1.5
0
2.25
0
1.5
0
3.75
0
1.5
0
2.25
0
1.5
0
3.75
0
1.5
0
2.25
0
1.5
0
3.75
0
1.5
0
2.25
0
1.5
0
3.75
0
1.5
0
2.25
0
1.5
0
3.75
0
1.5
0
2.25
0
1.5
0
3.75
0
1.5
0
2.25
0
1.5
0
3.75
0
1.5
0
2.25
0
1.5
0
3.75
0
1.5
0
2.25
0
1.5
0
3.75
0
1.5
0
2.25
0
1.5
0
3.75
0
1.5
0
2.25
0
1.5
0
3.75
0
1.5
0
2.25
0
1.5
0
3.75
0
1.5
0
2.25
0
1.5
0
3.75
0
1.5
0
2.25
0
1.5
0
3.75
0
1.5
0
2.25
0
1.5
0
3.75
0
1.5
0
2.25
0
1.5
0
3.75
0
1.5
0
2.25
0
1.5
0
3.75
0
1.5
0
2.25
0
1.5
0
3.75
0
1.5
0
2.25
0
1.5
0
3.75
0
1.5
0
2.25
0
1.5
0
3.75
0
1.5
0
2.25
0
1.5
0
3.75
0
1.5
0
2.25
0
1.5
0
3.75
0
1.5
0
2.25
0
1.5
0
3.75
0
1.5
0
2.25
0
1.5
0
3.75
0
1.5
0
2.25
0
1.5
0
3.75
0
1.5
0
2.25
0
1.5
0
3.75
0
1.5
0
2.25
0
1.5
0
3.75
0
1.5
0
2.25
0
1.5
0
3.75
0
1.5
0
2.25
0
1.5
0
3.75
0
1.5
0
2.25
0
1.5
0
3.75
0
1.5
0
2.25
0
1.5
0
3.75
0
1.5
0
2.25
0
1.5
0
3.75
0
1.5
0
2.25
0
1.5
0
3.75
0
1.5
0
2.25
0
1.5
0
3.75
0
1.5
0
2.25
0
1.5
0
3.75
0
1.5
0
2.25
0
1.5
0
3.75
0
1.5
0
2.25
0
1.5
0
3.75
0
1.5
0
2.25
0
1.5
0
3.75
0
1.5
0
2.25
0
1.5
0
3.75
0
1.5
0
2.25
0
1.5
0
3.75
0
1.5
0
2.25
0
1.5
0
3.75
0
1.5
0
2.25
0
1.5
0
3.75
0
1.5
0
2.25
0
1.5
0
3.75
0
1.375
0
2.25
0
1.375
0
3.75
0
2
0
2.25
0
2
0
3.75
0
0.5
0
2.25
0
0.5
0
3.75
0
3
0
2.25
0
3
0
3.75
0
0
0
2.25
0
0
0
3.75
0
4
0
2.25
0
4
0
3.75
0
0
0
2.25
0
0
0
3.75
0
0
0
2.25
0
0
0
3.75
0
0
0
2.25
0
0
0
3.75
0
0
0
2.25
0
0
0
3.75
0
0
0
2.25
0
0
0
3.75
0
0
0
2.25
0
0
0
3.75
0
0
0
2.25
0
0
0
3.75
0
0
0
2.25
0
0
0
3.75
0
0
0
2.25
0
0
0
3.75
0
0
0
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数值 分析 课程设计