数值分析实验报告

上传人:re****.1 文档编号:513662910 上传时间:2022-09-16 格式:DOCX 页数:12 大小:321.16KB
返回 下载 相关 举报
数值分析实验报告_第1页
第1页 / 共12页
数值分析实验报告_第2页
第2页 / 共12页
数值分析实验报告_第3页
第3页 / 共12页
数值分析实验报告_第4页
第4页 / 共12页
数值分析实验报告_第5页
第5页 / 共12页
点击查看更多>>
资源描述

《数值分析实验报告》由会员分享,可在线阅读,更多相关《数值分析实验报告(12页珍藏版)》请在金锄头文库上搜索。

1、数值分析实验报告 姓名: XXX 学号: XXXXXXXX 学院: XXXXXXXX老师: XXXX 实验一一、实验内容用雅克比迭代法和高斯塞德尔迭代法求解课本例3.1,设置精度为10-6。二、实验公式 1、雅克比迭代法雅克比迭代法的基本思想:设方程组的系数矩阵的对角线元素,根据方程组推导出一个迭代公式,然后将任意选取的一初始向量代入迭代公式,求出,再以代入同一迭代公式,求出,如此反复进行,得到向量序列。当收敛时,其极限即为原方程组的解。2、高斯塞德尔迭代法:在雅可比(Jacobi)迭代法中,如果当新的分量求出后,马上用它来代替旧的分量,则可能会更快地接近方程组的准确解。基于这种设想构造的迭代

2、公式称为高斯-塞德尔(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:n if A(m,m)=0 对

3、角元为零,不能求解 return endendx=zeros(n,1); %设置初始解k=0; %预设迭代次数为0kend=50; %最大迭代次数为50r=1; %前后项之差的无穷范数,初始值设为1while ke%达到预定精度或迭代超过50次推出计算 x0=x; %几下前次近似解 for m=1:n s=0; for l=1:m-1 s=s+A(m,l)*x0(l); end for l=m+1:n s=s+A(m,l)*x0(l); end x(m)=b(m)/A(m,m)-s/A(m,m); endr=norm(x-x0,inf); %重新计算前后项之差的无穷范数k=k+1;endif

4、kkend 迭代不收敛,失败else 求解成功 x kendans =求解成功x = 2.999999988436388 1.999999749136996 0.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、法和雅克比迭代法的原理可知,雅克比迭代法只是利用了前次迭代的结果,而高斯赛德尔迭代法也利用了当前迭代过程中已经算出来的新的分量,即当新的分量求出后,马上用它来代替旧的分量,则可能会更快地接近方程组的准确解。因此一般情况下高斯赛德尔迭代法比雅可比迭代法的收敛速度快。实验二一、实验内容例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) ezp

6、lot(x3-3*x+1);axis(-2 2 -10 10);grid由上图可知其根分布区间大概分布在(-2,-1),(0,1)和(1,2)中。编写二分法求解最小正根的近似值程序如下: format long;f=inline(x3-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)Eps break;endif yt*ya0 a=a;b=temp;elseif yt*yb B

7、=;%清空变量Bx0=pi/6 pi/4 pi/3 pi/2; %初始数据y0=sin(x0);x=pi/18 2*pi/9; %插值点n=max(size(x0);for k=1:2l=1;y=y0(1);B(l,k)=y;s=1; %一次因子的乘积,预设为1dx=y0; %差商for i=1:n-1 dx0=dx; for j=1:n-i dx(j)=(dx0(j+1)-dx0(j)/(x0(i+j)-x0(j); end df=dx(1); s=s*(x(k)-x0(i); %一次因子乘积 y=y+s*df; %计算各次Newton插值的值 l=l+1; B(l,k)=y;%结果保存在变

8、量B中endendB=1:l,B;disp(迭代过程中间结果);disp(k sin(pi/18) sin(pi/4.5);disp(B);迭代过程中间结果k sin(pi/18) sin(pi/4.5) 1.0000 0.5000 0.5000 2.0000 0.2239 0.6381 3.0000 0.1489 0.64344.0000 0.1659 0.6429四、结果分析牛顿插值可以在计算过程中,根据精度要求逐步增加节点,且计算量小。而Newton差商差值多项式有一个显著的优点,即它的每一项都是按x的指数作升幂排列,这样当需要增加节点提高差值多项式次数时,可以充分利用前面已经计算出的结果。如显然,k次牛顿插值公式仅在k-1阶牛顿插值公式后面增加一项(x- x0)L(x- xk-1) f(x0,x1 ,L,xk),作为对k-1阶牛顿插值公式的补偿或修正,提高了插值精度。即当插值节

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > PPT模板库 > 总结/计划/报告

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号