#数学实验“线性方程组的J-迭代-GS-迭代-SOR-迭代解法”实验报告(内含matlab程序代码)

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

西京学院数学软件实验任务书课程名称数学软件实验班级数0901学号0912020107姓名李亚强实验课题线性方程组的J-迭代,GS-迭代,SOR-迭代方法。实验目的熟悉线性方程组的J-迭代,GS-迭代,SOR-迭代方法。实验要求运用Matlab/C/C++/Java/Maple/Mathematica等其中一种语言完成。实验内容线性方程组的J-迭代;线性方程组的GS-迭代;线性方程组的SOR-迭代。成绩教师-1-实验四实验报告一、实验名称:线性方程组的J-迭代,GS-迭代,SOR-迭代。二、实验目的:熟悉线性方程组的J-迭代,GS-迭代,SOR-迭代,SSOR-迭代方法,编程实现雅可比方法和高斯-赛德尔方法求解非线性方程组12123123521064182514xxxxxxxx的根,提高matlab编程能力。三、实验要求:已知线性方程矩阵,利用迭代思想编程求解线性方程组的解。四、实验原理:1、雅可比迭代法(J-迭代法):线性方程组bXA*,可以转变为:迭代公式(0)(1)()k0,1,2,....kkJXXBXf其中bMfULMAMIBJ111),(,称JB为求解bXA*的雅可比迭代法的迭代矩阵。以下给出雅可比迭代的分量计算公式,令),....,()()(2)(1)(knkkkXXXX,由雅可比迭代公式有bXULMXkk)()1()(,既有inijkiijijkiijkiijbXaXaXa1)(11)()1(,于是,解bXA*的雅可比迭代法的计算公式为-2-)(1),....,(111)()()1()0()0(2)0(1)0(ijnijkjijkjijiiikiTnXaXabaXXXXX2、高斯-赛德尔迭代法(GS-迭代法):GS-迭代法可以看作是雅可比迭代法的一种改进,给出了迭代公式:)(1),....,(111)1()1()1()0()0(2)0(1)0(ijnijkjijkjijiiikiTnXaXabaXXXXX其余部分和雅克比迭代类似。3、逐次超松弛迭代法(SOR-迭代法):选取矩阵A的下三角矩阵分量并赋予参数w,将之作为分裂矩阵M,)(1wLDwM,其中,w0,为可选择的松弛因子,又(1)公式构造一个迭代法,其迭代矩阵为AwLDwIBs1)(从而得到解bXA*的逐次超松弛迭代法。(0)(1)()k0,1,2,....kksXXBXf其中:bwLDwfwUDwwLDBs11)())1(()(由此,解bXA*的SOR-迭代法的计算公式为)(),....,(111)1()1()()1()0()0(2)0(1)0(ijnijkjijkjijiiikikiTnXaXabawXXXXXX(2)观察(2)式,可得结论:-3-(1)、当w=1时,SOR-迭代法为J-迭代法。(2)、当w1时,称为超松弛迭代法,当w1时,称为低松弛迭代法。五、实验内容:%1.J-迭代functionx1=jacobi(A,b,y);m=input('请输入迭代次数m:');eps=input('请输入精度eps:');D=diag(diag(A));L=triu(A)-A;U=tril(A)-A;M=D\(L+U);g=D\b;a=1;k=0;whileaepsx2=M*x1+g;a=norm(x2-x1,inf);x1=x2;-4-k=k+1;end%输出方程组的近似解、精确值及误差disp('近似解:');disp(x1);x2=x1-y;a=norm(x2,inf);fprintf('误差:%.6f;迭代次数:%d\n',a,k);%2.GS-迭代functionx1=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;%生成矩阵M,向量gM=(D-L)\U;g=(D-L)\b;-5-%迭代首项x1=eye(n-1,1);x2=eye(n-1,1);fori=1:n-1x1(i)=1;x2(i)=0;enda=1;k=0;whileaepsx2=M*x1+g;a=norm(x2-x1,inf);x1=x2;k=k+1;end%输出方程组的近似解、精确值及误差disp('近似解:');x2=x1-y;a=norm(x2,inf);-6-fprintf('误差:%.4f;迭代次数:%d\n',a,k);%3.SOR-迭代functiona=p(A)[n,n]=size(A);x=eig(A);a=0;fori=1:nb=abs(x(i));ifbaa=x(i);endenda=abs(a);functionx1=SOR(A,b,y)%y为精确解%超松弛迭代D=diag(diag(A));L=triu(A)-A;U=tril(A)-A;%求最佳松弛因子w-7-M=D\(L+U);w=p(M);w=2/(1+sqrt(1-w^2));ifw0||w2disp('迭代不收敛');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);whilew1e-6x2=M*x1+g;w=norm(x2-x1,inf);x1=x2;k=k+1;-8-end%输出方程组的近似解、精确值及误差disp('近似解:');disp(x1);x2=x1-y;w=norm(x2,inf);disp('误差:');disp(w);disp('迭代次数:');disp(k);六、实验结果:A=[520;641;125];b=[1018-14]';X1=G_S(A,b,[000]')X1=-0.87507.1874-5.5000

1 / 9
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功