三种迭代法雅克比、高斯赛贝尔、超松弛求解方程组实验报告_第1页
三种迭代法雅克比、高斯赛贝尔、超松弛求解方程组实验报告_第2页
三种迭代法雅克比、高斯赛贝尔、超松弛求解方程组实验报告_第3页
三种迭代法雅克比、高斯赛贝尔、超松弛求解方程组实验报告_第4页
三种迭代法雅克比、高斯赛贝尔、超松弛求解方程组实验报告_第5页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

大连民族学院数学实验报告课程:数值剖析与软件实验题目:分别用Jacobi、Gauss-Seidel、SOR迭代法求解线性方程组系别:理学院专业:数学与应用数学姓名:赵英翠班级:数学101指导教师:牛大田达成学期:2012年4月14日实验目的:熟习matlab上机环境,掌握matlab有关知识;掌握求解线性方程组的三种迭代法:Jacobi、Gauss-Seidel、SOR迭代法;比较三种迭代法的差别;实验内容:(问题、数学模型、要求、重点词)1.分别运用Jacobi、Gauss-Seidel、SOR迭代法求解以下线性方程组4100x15.841410x25.50141x37.330014x43.35取初始点x(0)(0,0,0,0)T,精度要求106;SOR迭代法中废弛因子。1.052.求解上述方程组正确解,与上述三种方法的结果进行比较。重点词:Jacobi、Gauss-Seidel、SOR迭代法线性方程组实验方法和步骤(包含数值公式、算法步骤、程序):利用Jacobi迭代法求解:编制名为majacobi.m的文件,内容以下:functionx=majacobi(A,b,x0,ep,N)n=length(b);ifnargin>5,Warning('传达的参数个数错误');endifnargin<5,N=500;endifnargin<4,ep=1e-6;endifnargin<3,x0=zeros(n,1);endx=zeros(n,1);k=0;whilek<Nfori=1:nx(i)=(b(i)-A(i,[1:i-1,i+1:n])*x0([1:i-1,i+1:n]))/A(i,i);endifnorm(x-x0,inf)<ep,break;endx0=x;k=k+1;endifk==N,Warning('已达到迭代次数上限');enddisp(['迭代次数k=',num2str(k)])2.利用Gauss-Seidel迭代法求解:编制名为maseidel.m的文件,内容以下:functionx=maseidel(A,b,x0,ep,N)n=length(b);ifnargin<5,N=500;endifnargin<4,ep=1e-6;endifnargin<3,x0=zeros(n,1);endx=zeros(n,1);k=0;whilek<Nfori=1:nifi==1x(1)=(b(1)-A(1,2:n)*x0(2:n))/A(1,1);elseifi==nx(n)=(b(n)-A(n,1:n-1)*x(1:n-1))/A(n,n);elsex(i)=(b(i)-A(i,1:i-1)*x(1:i-1)-A(i,i+1:n)*x0(i+1:n))/A(i,i);endendendifnorm(x-x0,inf)<ep,break;endx0=x;k=k+1;endifk==N,Warning('已达到迭代次数上限');enddisp(['迭代次数k=',num2str(k)])利用SOR迭代法求解:编制名为masor.m的文件,内容以下:functionx=masor(A,b,omega,x0,ep,N)n=length(b);ifnargin<6,N=500;endifnargin<5,ep=1e-6;endifnargin<4,x0=zeros(n,1);endifnargin<3,omega=1.5;endx=zeros(n,1);k=0;whilek<Nfori=1:nifi==1x1(1)=(b(1)-A(1,2:n)*x0(2:n))/A(1,1);elseifi==nx1(n)=(b(n)-A(n,1:n-1)*x(1:n-1))/A(n,n);elsex1(i)=(b(i)-A(i,1:i-1)*x(1:i-1)-A(i,i+1:n)*x0(i+1:n))/A(i,i);endendx(i)=(1-omega)*x0(i)+omega*x1(i);endifnorm(x0-x,inf)<ep,break;endk=k+1;x0=x;endifk==N,Warning('已达到迭代次数上限');enddisp(['迭代次数k=',num2str(k)])利用matlab求解方程组的正确解在matlab指令窗口中输入:A=[4,-1,0,0;-14-10;0-14-1;00-14];B=[5.84-5.57.333.35]';X=A\B实验数据和剖析:利用Jacobi迭代法求解:在MATLAB命令窗口履行程序masorm.m:>>clear;clcA=[4,-1,0,0;-14-10;0-14-1;00-14];B=[5.84-5.57.333.35]';x=majacobi(A,B)获得计算结果:迭代次数k=17x=1.3264-0.53452.03551.3464利用Gauss-Seidel迭代法求解:在MATLAB命令窗口履行程序maseidel.m:>>clear;clc>>A=[4,-1,0,0;-14-10;0-14-1;00-14];>>B=[5.84-5.57.333.35]';>>x=maseidel(A,B)获得计算结果:迭代次数k=9x=1.3264-0.53452.03551.34643.利用SOR迭代法求解:在MATLAB命令窗口履行程序:>>clear;clcA=[4,-1,0,0;-14-10;0-14-1;00-14];B=[5.84-5.57.333.35]';>>x=masor(A,B,1.05)获得计算结果:迭代次数k=6x=1.3264-0.53452.03551.34644.利用matlab求解方程组的正确解获得计算构造X=1.3264-0.53452.03551.3464经过以上数据测试能够剖析出以下几点:Jacobi、Gauss-Seidel、SOR三种迭代法对应的迭代次数是渐渐减少的,也就是说三种方法在迭代的速度上是逐一增添的;2.三种迭代法计算获得的解与严格计算方程组后的精准解在结果所示精度下是同样的,说明三种迭代法的求解精度是不低的。实验的启迪:经过本次试验,我掌握了用Jacobi、Gauss-Seidel、SOR迭代法求

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论