数学实验“线性方程组的j-迭代,gs-迭代,sor-迭代解法”实验报告(内含matlab程序代码)

数学实验“线性方程组的j-迭代,gs-迭代,sor-迭代解法”实验报告(内含matlab程序代码)

ID:13081659

大小:106.50 KB

页数:10页

时间:2018-07-20

数学实验“线性方程组的j-迭代,gs-迭代,sor-迭代解法”实验报告(内含matlab程序代码)_第1页
数学实验“线性方程组的j-迭代,gs-迭代,sor-迭代解法”实验报告(内含matlab程序代码)_第2页
数学实验“线性方程组的j-迭代,gs-迭代,sor-迭代解法”实验报告(内含matlab程序代码)_第3页
数学实验“线性方程组的j-迭代,gs-迭代,sor-迭代解法”实验报告(内含matlab程序代码)_第4页
数学实验“线性方程组的j-迭代,gs-迭代,sor-迭代解法”实验报告(内含matlab程序代码)_第5页
资源描述:

《数学实验“线性方程组的j-迭代,gs-迭代,sor-迭代解法”实验报告(内含matlab程序代码)》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、西京学院数学软件实验任务书课程名称数学软件实验班级数0901学号0912020107姓名李亚强实验课题线性方程组的J-迭代,GS-迭代,SOR-迭代方法。实验目的熟悉线性方程组的J-迭代,GS-迭代,SOR-迭代方法。实验要求运用Matlab/C/C++/Java/Maple/Mathematica等其中一种语言完成。实验内容线性方程组的J-迭代;线性方程组的GS-迭代;线性方程组的SOR-迭代。成绩教师-9-实验四实验报告一、实验名称:线性方程组的J-迭代,GS-迭代,SOR-迭代。二、实验目的:熟悉线性方程组的J-

2、迭代,GS-迭代,SOR-迭代,SSOR-迭代方法,编程实现雅可比方法和高斯-赛德尔方法求解非线性方程组的根,提高matlab编程能力。三、实验要求:已知线性方程矩阵,利用迭代思想编程求解线性方程组的解。四、实验原理:1、雅可比迭代法(J-迭代法):线性方程组,可以转变为:迭代公式其中,称为求解的雅可比迭代法的迭代矩阵。以下给出雅可比迭代的分量计算公式,令,由雅可比迭代公式有,既有,于是,解的雅可比迭代法的计算公式为-9-2、高斯-赛德尔迭代法(GS-迭代法):GS-迭代法可以看作是雅可比迭代法的一种改进,给出了迭代公

3、式:其余部分与雅克比迭代类似。3、逐次超松弛迭代法(SOR-迭代法):选取矩阵A的下三角矩阵分量并赋予参数w,将之作为分裂矩阵M,,其中,w>0,为可选择的松弛因子,又(1)公式构造一个迭代法,其迭代矩阵为从而得到解的逐次超松弛迭代法。其中:由此,解的SOR-迭代法的计算公式为(2)观察(2)式,可得结论:-9-(1)、当w=1时,SOR-迭代法为J-迭代法。(2)、当w>1时,称为超松弛迭代法,当w<1时,称为低松弛迭代法。一、实验内容:  %1.J-迭代functionx1=jacobi(A,b,y);m=inpu

4、t('请输入迭代次数m:');eps=input('请输入精度eps:');D=diag(diag(A));L=triu(A)-A;U=tril(A)-A;M=D(L+U);g=Db;a=1;k=0;whilea>epsx2=M*x1+g;-9-a=norm(x2-x1,inf);x1=x2;k=k+1;end%输出方程组的近似解、精确值及误差disp('近似解:');disp(x1);x2=x1-y;a=norm(x2,inf);fprintf('误差:%.6f;迭代次数:%d',a,k);%2.GS-迭代f

5、unctionx1=G_S(A,b,y)n=100;m=input('请输入迭代次数m:');eps=input('请输入精度eps:');D=diag(diag(A));L=triu(A)-A;U=tril(A)-A;-9-%生成矩阵M,向量gM=(D-L)U;g=(D-L)b;%迭代首项x1=eye(n-1,1);x2=eye(n-1,1);fori=1:n-1x1(i)=1;x2(i)=0;enda=1;k=0;whilea>epsx2=M*x1+g;a=norm(x2-x1,inf);x1=x2;k=k+1

6、;end-9-%输出方程组的近似解、精确值及误差disp('近似解:');x2=x1-y;a=norm(x2,inf);fprintf('误差:%.4f;迭代次数:%d',a,k);%3.SOR-迭代functiona=p(A)[n,n]=size(A);x=eig(A);a=0;fori=1:nb=abs(x(i));ifb>aa=x(i);endenda=abs(a);functionx1=SOR(A,b,y)%y为精确解-9-%超松弛迭代D=diag(diag(A));L=triu(A)-A;U=tril(A

7、)-A;%求最佳松弛因子wM=D(L+U);w=p(M);w=2/(1+sqrt(1-w^2));ifw<0

8、

9、w>2disp('迭代不收敛');return;end%生成矩阵M,向量gM=(D-w*L)((1-w)*D+w*U);g=(D-w*L)b*w;%进行迭代w=1;k=0;%x1=eye(n,1);-9-whilew>1e-6x2=M*x1+g;w=norm(x2-x1,inf);x1=x2;k=k+1;end%输出方程组的近似解、精确值及误差disp('近似解:');disp(x1);x2=x1-y;

10、w=norm(x2,inf);disp('误差:');disp(w);disp('迭代次数:');disp(k);一、实验结果:A=[520;641;125];b=[1018-14]';X1=G_S(A,b,[000]')-9-X1=-0.87507.1874-5.5000-9-

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

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

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