- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
数值分析实验报告
数值分析实验报告姓名: XXX 学号:XXXXXXXX学院:XXXXXXXX老师: XXXX 实验一一、实验内容用雅克比迭代法和高斯塞德尔迭代法求解课本例3.1,设置精度为10-6。二、实验公式 1、雅克比迭代法雅克比迭代法的基本思想:设方程组的系数矩阵的对角线元素,根据方程组推导出一个迭代公式,然后将任意选取的一初始向量代入迭代公式,求出,再以代入同一迭代公式,求出,如此反复进行,得到向量序列。当收敛时,其极限即为原方程组的解。2、高斯塞德尔迭代法:在雅可比(Jacobi)迭代法中,如果当新的分量求出后,马上用它来代替旧的分量,则可能会更快地接近方程组的准确解。基于这种设想构造的迭代公式称为高斯-塞德尔(Gauss-Seidel)迭代法。算法可相应地从雅可比(Jacobi)迭代法改造得到。3、两种迭代法的公式(1)雅可比迭代法:xi(k+1)=1/aii(bi-Σaijxj(k)) (2)高斯-塞德尔迭代法:xi(k+1)=1/aii(bi-Σaijxj(k+1)-Σaijxj(k))三、实验程序1、雅克比迭代法的程序format long;%设置为长格式显示,显示15位小数A=[8 -3 2;4 11 -1;6 3 12];%输入系数矩阵b=[20 33 36];e=0.000001;%控制误差n=max(size(A));%测定维数for m=1:nif A(m,m)==0 对角元为零,不能求解returnendendx=zeros(n,1);%设置初始解k=0;%预设迭代次数为0kend=50;%最大迭代次数为50r=1;%前后项之差的无穷范数,初始值设为1while k=kendre%达到预定精度或迭代超过50次推出计算 x0=x; %几下前次近似解for m=1:n s=0;for l=1:m-1 s=s+A(m,l)*x0(l);endfor l=m+1:n s=s+A(m,l)*x0(l);endx(m)=b(m)/A(m,m)-s/A(m,m);endr=norm(x-x0,inf);%重新计算前后项之差的无穷范数k=k+1;endif kkend 迭代不收敛,失败else 求解成功xkendans =求解成功x =2.9999999884363881.9999997491369960.999999871142208k =162、高斯塞德尔迭代法的源程序只要在上面的雅克比迭代法的程序中作一处更改便可,即将上面的第21行的程序s=s+A(m,l)*x0(l);改为s=s+A(m,l)*x(l);其结果如下:x = 2.999999983670503 2.000000019116444 1.000000003385637k = 9四、实验分析由实验可见对此题高斯赛德尔迭代法比雅可比迭代法的收敛速度快。因为由高斯赛德尔迭代法和雅克比迭代法的原理可知,雅克比迭代法只是利用了前次迭代的结果,而高斯赛德尔迭代法也利用了当前迭代过程中已经算出来的新的分量,即当新的分量求出后,马上用它来代替旧的分量,则可能会更快地接近方程组的准确解。因此一般情况下高斯赛德尔迭代法比雅可比迭代法的收敛速度快。实验二一、实验内容例5.1 判别方程的实根存在区间,要求区间长度不大于1,然后用二分法求出最小正根的近似值,精度。二、实验原理对于二分法,其数学实质就是说对于给定的待求解的方程f(x),其在[a,b]上连续,f(a)f(b)0,且f(x)在[a,b]内仅有一个实根x*,取区间中点c,若f(c)e,则c恰为其根,否则根据f(a)f(c)0是否成立判断根在区间[a,c]和[c,b]中的哪一个,从而得出新区间,仍称为[a,b]。重复运行计算,直至满足精度为止。这就是二分法的计算思想。三、实验程序先用画图的方法来粗略估计其根的范围,程序如下: ezplot(x^3-3*x+1);axis([-2 2 -10 10]);grid由上图可知其根分布区间大概分布在(-2,-1),(0,1)和(1,2)中。编写二分法求解最小正根的近似值程序如下: format long;f=inline(x^3-3*x+1);a=0;b=1;Eps=1E-5;for k=1:50A(k)=a;B(k)=b;ya=feval(f,a);yb=feval(f,b);temp=(a+b)/2;X(k)=temp;yt=feval(f,temp);F(k)=yt;if abs(yt)Epsbreak;endif yt*ya0 a=a;b=temp;elseifyt*yb0a=temp;b=b;endend;disp(k a(k) b(k)
原创力文档


文档评论(0)