数值分析实验3new

数值分析实验3new

ID:18538113

大小:71.50 KB

页数:11页

时间:2018-09-18

数值分析实验3new_第1页
数值分析实验3new_第2页
数值分析实验3new_第3页
数值分析实验3new_第4页
数值分析实验3new_第5页
资源描述:

《数值分析实验3new》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、班级:自动化1201姓名:董鸣丹学号:2012307201431实验三解线性方程组的迭代法实验目的1.深入理解Jacobi迭代法和Gauss-Seidel迭代法2.通过对两种迭代法的程序设计,提高程序设计能力3.应用编写的程序解决具体问题,掌握两种基本迭代法的使用,通过结果的分析了解每一种迭代法的特点实验要求(1)认识迭代法收敛的含义以及迭代初值和方程组系数矩阵性质对收敛速度的影响。(2)迭代法收敛速度试验、病态的线性方程组的求解实验题目3.1用迭代法求解方程组,其中,它的每条对角钱元素是常数,为(1)选取不同的初始

2、向量和不同的方程组右端项向量,给定迭代误差要求,用Jacobi迭代法和Gauss-Seidel迭代法计算,观测得到的迭代向量序列是否均收敛?若收敛;记录迭代次数,分析计算结果并得出你的结论;(2)取定右端向量b和初始向量,将的主对角线元素成倍增长若干次,非主对角线元素不变,每次用Jacobi迭代法计算,要求迭代误差满足。比较收敛速度,分析现象并得出你的结论。(1)1.选取初始向量为=zeros(20,1),右端向量b=ones(20,1),eps=1.0e-5;①实验程序(Jacobi迭代法)function[x,n

3、]=jacobi(A,b,x0,eps,M)%A为方程组得系数矩阵班级:自动化1201姓名:董鸣丹学号:2012307201431%b为方程组得右端项%x0为初始向量%eps为精度要求%M为最大迭代次数%x为方程组的解%n为迭代次数eps=1.0e-5;%精度要求M=200;%最大迭代次数A=zeros(20,20);fori=1:1:20A(i,i)=3;endfori=1:1:20forj=1:1:20ifabs(i-j)==1A(i,j)=-1/2;endendendfori=1:1:20forj=1:1:20

4、ifabs(i-j)==2A(i,j)=-1/4;endendendb=ones(20,1);x0=zeros(20,1);D=diag(diag(A));%取A的对角阵L=-tril(A,-1);%取A的下三角阵U=-triu(A,1);%取A的上三角阵B=D(L+U);f=Db;x=B*x0+f;n=1;disp(['第',num2str(n),'步求解结果为:']);disp(x);whilenorm(x-x0)>=epsx0=x;x=B*x0+f;n=n+1;disp(['第',num2str(n),'步

5、求解结果为:']);disp(x);if(n>=M)班级:自动化1201姓名:董鸣丹学号:2012307201431disp('Warning:迭代次数太多,可能不收敛!');return;endenddisp('最终结果为:');disp('x=');disp(x);disp(['n=',num2str(n)]);实验结果最终结果为:x=0.48160.57340.63280.65210.66090.66430.66570.66630.66650.66660.66660.66650.66630.66570.6643

6、0.66090.65210.63280.57340.4816n=18②实验程序(Gauss-Seidel迭代法)function[x,n]=gauseidel(A,b,x0,eps,M)%A为方程组得系数矩阵%b为方程组得右端项%x0为迭代初始向量%eps为精度要求%M为最大迭代次数%x为方程组的解班级:自动化1201姓名:董鸣丹学号:2012307201431%n为迭代次数eps=1.0e-5;%精度要求M=200;%最大迭代次数A=zeros(20,20);fori=1:1:20A(i,i)=3;endfori=

7、1:1:20forj=1:1:20ifabs(i-j)==1A(i,j)=-1/2;endendendfori=1:1:20forj=1:1:20ifabs(i-j)==2A(i,j)=-1/4;endendendb=ones(20,1);x0=zeros(20,1);D=diag(diag(A));%取A的对角阵L=-tril(A,-1);%取A的下三角阵U=-triu(A,1);%取A的上三角阵B=D(L+U);f=Db;x=B*x0+f;n=1;disp(['第',num2str(n),'步求解结果为:']

8、);disp(x);whilenorm(x-x0)>=epsx0=x;x=B*x0+f;n=n+1;disp(['第',num2str(n),'步求解结果为:']);disp(x);if(n>=M)disp('Warning:迭代次数太多,可能不收敛!');return;endenddisp('最终结果为:');班级:自动化1201姓名:董鸣丹

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。