资源描述:
《【精品】数值分析上机实验4》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、昆明理工大学理学J兜信息与计算科学专业操作性实验报告年级:10级姓名:刘陈学号:201011101128指导教师:陈智斌实验课程名称:数值分析matlab程序设计开课实验室:理学院机房实验成绩:学风(5)观察能力(15)操作能力(30)调试能力(50)其它总分实验内容:1.实验/作业题目:数值分析与matlab程序设计2.实验/作业课时:2学时3.实验过程(包括实验环境、实验内容的描述、完成实验要求的知识或技能):实验环境:matlab实验内容:解线性方程组Ax=b,其中「0.20」0」41・111o・■1T2A二1-1600・2b=3110844_0-1■247005方程
2、的解为x*=(7.859713071,0.4229264()82,-().07359223906,-0.5406430164,0.()1()62616286)分别用雅可比迭代法,高斯■赛德尔迭代法,超松弛迭代法(w=1.25)求解,误差限e=0.01o试比较解得值及所需迭代次数。完成实验要求的知识或技能:通过这个实验,了解matlab开发环境的配置以及如何通过matlab来编写《数值分析》程序,掌握matlab程序的一些基本结构。4.程序结构(程序中的函数调用关系图)1.算法描述、流程图或操作步骤:雅可比迭代法M文件算法:function[x,k]=jacobif(A,b,
3、xO,ep,Nmax)%用分量形式jacobi迭代法解线性方程组Ax=b%[x,k]二jacobif(A,b,xO,ep,Nmax),A为系数矩阵,b为右端向量,x为返回解向量%x0为迭代初值,ep为精度%Nnidx为迭代次数上限以防发散(默认800)formatlongn二1ength(b);k二0;ifnargin〈5Nmax二800;endifnargin〈4cp二le-2;endifnargin<3x0=zeros(n,1);y=zeros(n,1);endx=x0;x0=x+2*ep;whilenorm(x0-x,inf)>ep&k〈Nmax,k二k+1;x0二x
4、;fori二l:ny(i)二b(i);forj=l:nifJ=iy(i)=y(i)-A(i,j)*xO(j);endendifabs(A(i,i))5、Nmax)%用分量形式Gauss—Seidel迭代法解线性方程组Ax=b%[x,k]=gaussseide1f(A,b,xO,ep,Nmax),A为系数矩阵%b为右端向量,x为返冋解向量,xO为迭代初值,ep为精度%Nnidx为迭代次数上限以防发散(默认800)formatlongn=length(b);k=0;ifnargin〈5Nmax=800;endifnargin〈4ep二le-2;endifnargin<3x0=zeros(n,1);endx=x0;x0=x+2*ep;whilenorm(x0-x,inf)>ep&k〈Nnuix,k二k+1;x0=x;y=x;fo
6、ri二l:nz(i)二b(i);forj=l:nifJ=1z(i)=z(i)-A(i,j)*x(j);endendifabs(A(i,i))>[x,k]=gaussseidelf(A,b)超松弛迭
7、代法M文件算法:function[xk]二EqtsSOR(A,b,xO,omiga,eps)%用分量形式超松弛迭代法解线性方程组Ax=b%[x,k]=EqtsSOR(A,b,xO,omiga,ep,Nmax),A为系数矩阵%b为右端向量,x为返回解向量,xO为迭代初值,ep为精度%omiga是松弛因了一般取1到2Z间的数(默认值为1.5)ifnargin=4eps二le-2;endifnargin==3omiga=l.25;eps二le-2;endn=length(b);%检查输入参数ifsize(A,1)二n
8、
9、