数值分析实验报告.pdf
《数值分析实验报告.pdf》由会员分享,可在线阅读,更多相关《数值分析实验报告.pdf(44页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、.数值分析实验报告数值分析实验报告(第二章第二章)实验题目实验题目:分别用二分法、牛顿迭代法、割线法、史蒂芬森迭代法求方程的根,观察不同初始值下的收敛性,并给出结论。问题分析问题分析:题目有以下几点要求:1.不同的迭代法计算根,并比较收敛性。2.选定不同的初始值,比较收敛性。实验原理实验原理:各个迭代法简述二分法:取有根区间的重点,确定新的有根区间的区间长度仅为区间长度的一版。对压缩了的有根区间重复以上过程,又得到新的有根区间,其区间长度为的一半,如此反复,可得一系列有根区间,区间收敛到一个点即为根。牛顿迭代法:不动点迭代法的一种特例,具有局部二次收敛的特性。迭代格式为割线法:是牛顿法的改进,
2、具有超线性收敛的特性,收敛阶为 1.618.迭代格式为.学习帮手.史蒂芬森迭代法:采用不动点迭代进行预估校正。至少是平方收敛的。迭代格式为这里可采用牛顿迭代法的迭代函数。实验内容实验内容:1.写出该问题的函数代码如下:functionpy=f(x)syms k;y=(k2+1)*(k-1)5;yy=diff(y,k);py(1)=subs(y,k,x);py(2)=subs(yy,k,x);end2.分别写出各个迭代法的迭代函数m(1)=a;代码如下:while abs(a-b)e二分法:t=(a+b)/2;functiony=dichotomie(a,b,e)s1=f(a);i=2;s2=f
3、(b);.学习帮手.s3=f(t);if s1(1)*s3(1)=es=f(x);t=x-s(1)/s(2);en=t-x;x=t;m(i)=t;.i=i+1;endy=x,i+1,m;end牛顿割线法:functiony=Secant(x1,x2,e)i=3;m(1)=x1,m(2)=x2;while abs(x2-x1)=es1=f(x1);s2=f(x2);t=x2-(x2-x1)*s2(1)/(s2(1)-s1(1);x1=x2;x2=t;m(i)=t;i=i+1;endy=x2,i+1,m;end史蒂芬森迭代法:Function p=StephensonIterative(x,e)i
4、=2;学习帮手.m(2)=x;en=2*e;whileabs(en)=ey=fai(x);z=fai(y);t=x-(y-x)2/(z-2*y+x);en=t-x;x=t;m(i)=t;i=i+1;endp=x,i+1,m;end3.因为经常被使用,故可以写一个函数。代码如下:function y=fai(x)s=f(x);y=x-s(1)/s(2);end4.可以绘制不同的图形来比较不同迭代法的收敛性和不同初值下的收敛性。代码如下:clear all;%相同初始值,不同迭代法下的收敛x1=dichotomie(0,3,1e-10);x2=NewtonIterative(0,1e-10);x3
5、=Secant(0,2,1e-10);x4=StephensonIterative(0,1e-10);x1(2),x2(2),x3(2),x4(2).学习帮手.figure,subplot(2,2,1),plot(x1(3:x1(2),title(二分法);subplot(2,2,2),plot(x2(3:x2(2),title(牛顿迭代法);subplot(2,2,3),plot(x3(3:x3(2),title(牛顿割线法);subplot(2,2,4),plot(x4(3:x4(2),title(史蒂芬森迭代法);figure,subplot(2,2,1),plot(x1(4:x1(2)
6、-1)-x1(1)./(x1(3:x1(2)-2)-x1(1),title(二分法);subplot(2,2,2),plot(x2(4:x2(2)-1)-x2(1)./(x2(3:x2(2)-2)-x2(1),title(牛顿迭代法);subplot(2,2,3),plot(x3(4:x3(2)-1)-x3(1)./(x3(3:x3(2)-2)-x3(1),title(牛顿割线法);subplot(2,2,4),plot(x4(4:x4(2)-1)-x4(1)./(x4(3:x4(2)-2)-x4(1),title(史蒂芬森迭代法);%不同初始值,相同迭代法下的收敛性x5=dichotomie
7、(-1,1,1e-10);x6=dichotomie(-2,3,1e-10);x7=dichotomie(0,4,1e-10);x8=dichotomie(-4,4,1e-10);x9=NewtonIterative(-2,1e-10);x10=NewtonIterative(-4,1e-10);x11=NewtonIterative(4,1e-10);x12=NewtonIterative(6,1e-10);figure,subplot(1,2,1),plot(1:x1(2)-2,x1(3:x1(2),1:x5(2)-2,x5(3:x5(2),1:x6(2)-2,x6(3:x6(2),1:x
8、7(2)-2,x7(3:x7(2),1:x8(2)-.学习帮手.2,x8(3:x8(2),title(二分法);subplot(1,2,2),plot(1:x2(2)-2,x2(3:x2(2),1:x9(2)-2,x9(3:x9(2),1:x10(2)-2,x10(3:x10(2),1:x11(2)-2,x11(3:x11(2),1:x12(2)-2,x12(3:x12(2),title(牛顿迭代法);x13=Secant(-1,1,1e-10);x14=Secant(-4,5,1e-10);x15=Secant(0,7,1e-10);x16=Secant(-8,2,1e-10);x17=St
9、ephensonIterative(-1,1e-10);x18=StephensonIterative(-4,1e-10);x19=StephensonIterative(4,1e-10);x20=StephensonIterative(6,1e-10);figure,subplot(1,2,1),plot(1:x3(2)-2,x3(3:x3(2),1:x13(2)-2,x13(3:x13(2),1:x14(2)-2,x14(3:x14(2),1:x15(2)-2,x15(3:x15(2),1:x16(2)-2,x16(3:x16(2),title(牛顿割线法);subplot(1,2,2),
10、plot(1:x4(2)-2,x4(3:x4(2),1:x17(2)-2,x17(3:x17(2),1:x18(2)-2,x18(3:x18(2),1:x19(2)-2,x19(3:x19(2),1:x20(2)-2,x20(3:x20(2),title(史蒂芬森迭代法);实验结果实验结果:1.各个迭代值分布.学习帮手.二 分 法1.510.50.51牛 顿 迭 代 法00102030400050史 蒂 芬 森 迭 代 法100牛 顿 割 线 法21.510.500501001500.51.51002468图 1.1不同迭代法下的得到的迭代值迭代值的情况如下:二分法01.50000000000
11、.75000000001.12500000000.93750000001.03125000000.98437500001.00781250000.9960937500牛顿迭代法00.20000000000.37049180320.50764420760.61461894470.69738690980.76155380910.81154111860.8506763857牛顿割线法02.00000000000.33333333330.38071968010.49828334190.57049963330.63938062440.69427858790.7411692653史蒂芬森迭代法01.355
12、55555560.98161652830.99994600030.9999999995.学习帮手.1.00195312500.99902343750.88144821230.90572974000.78027159970.8132927871当二分法的初始区间选为,误差限为,误差限为,牛顿迭代法初值选为,牛顿割线法初始点为,误差限为,史蒂芬森迭代法初始点选为 ,误差限为,迭代情况如图所示。迭代次数分别为 38 次,100 次,140 次,9 次。故而,史蒂芬森迭代法速度最快,效果最好。2.收敛情况50 x 109二 分 法0.80.70.6牛 顿 迭 代 法-50.50102030400.40
13、50史 蒂 芬 森 迭 代 法0.40.20100-10牛 顿 割 线 法10-1-0.2010203040-0.412345-2图 1.2不同迭代法下迭代值得收敛情况二分法收敛效果较差,牛顿迭代法和牛顿割线法相近,史蒂芬森迭代法收敛次数高于 1,效果最好3.不同初值的收敛情况.学习帮手.二 分 法2651432-110-2-1-2-3-4010203040-40牛 顿 迭 代 法0-350100150图 1.3二分法,牛顿迭代法下不同初值的收敛情况牛 顿 割 线 法862420-2-40.5-6-8012.5史 蒂 芬 森 迭 代 法1.502040608002468图 1.4牛顿割线法,史
14、蒂芬森迭代法下不同初值的收敛情况.学习帮手.1.二分法的五个初始区间分别为;2.牛顿迭代法的五个初始值分别为;3.牛顿割线法的五个初始区间分别为;4.史蒂芬森迭代法的五个初始值分别为;由图可知,它们最终均达到收敛。收敛性分析及结论收敛性分析及结论:1.二分法收敛较慢且不能求解崇根,但算法简单;此处牛顿法具有了平方收敛;从迭代次数上看,牛顿割线法较牛顿法的多,所以收敛性较差,是超线性收敛;史蒂芬森迭代法收敛效果最好。2.因为牛顿迭代法是局部的二次收敛,所以要注重初值的选取,本次实验中选择的初值均得到了收敛,效果比较好。牛顿割线法也应注意初值的选取。(第三章第三章)实验题目实验题目:1.区间作等距
15、划分:以为结点对函数进行插值逼近。(1)分别取用牛顿插值对进行逼近,并在同一坐标系下做出函数的图形,进行比较。写出插值函数对的逼近程度与节点个数的关系,并分析原因;(2)试用三次样条插值对进行逼近,在同一坐标下画出图形,观察样条插值函数对的逼近程度与节点个数的关系;(3)整体插值有何局限性?如何避免?.学习帮手.2.已知一组数据如下,求其拟合曲线.表 2.1数据表02132437485106117148169181019106.42108.2109.5110109.93110.49110.59110.6110.76111111.2(1)求以上数据形如的拟合曲线及其平方误差;(2)求以上数据形如
16、的拟合曲线及其平方误差;(3)通过观察(1)(2)的结果,写出你对数据拟合的认识.问题分析问题分析:题目除上述要求之外还有以下几点:1.明确整体插值和分段插值的不同。牛顿插值多项式属于整体插值,三次样条插值属于低次分段插值。2.将结果在同一坐标下绘制出。但是为了方便分析节点个数对于插值效果的影响,也可以单独绘制。3.第二题中为了确定各个参数的大小,可以进行适当变换,转化为线性,运用最小二乘法,得到拟合。实验原理实验原理:牛顿插值多项式:对于给定的插值节点构造次数不超过 的插值多项式使其满足插值条件这样得到的插值多项式插值多项式。系数称为为差商,可以通过构造差商.学习帮手.表得到。三次样条插值:
17、三次样条插值函数在每个小区间上为三次多项式;在全进上存在二阶连续导数;其次符合插值条件。中存在内置的三次样条插值函数,命令为实验内容实验内容:第一题:1.牛顿插值函数的构造代码如下:functionf=Newton(x0,y0)%牛顿多项式插值函数syms x;SZ=size(x0,2);a(1)=y0(1);y(:,1)=y0;for j=2:SZnx1=1;for i=1:SZ-j+1;nx2=nx1+j-1;y(i,j)=(y(i,j-1)-y(i+1,j-1)/(x0(nx1)-x0(nx2);nx1=nx1+1;endend.学习帮手.f=y(1,1);for j=2:SZff=y(
18、1,j);for i=1:j-1ff=ff*(x-x0(i);endf=f+ff;endend2.牛顿和三次样条插值情况及比较:代码如下:clear all;clc;syms x;fx=1/(5+x2);%牛顿多项式插值x0=-1:0.01:1;y0=subs(fx,x0);n1=1,5,10,20,25;n2=5,55,60,62,67;h1=2./n1;h2=2./n2;.学习帮手.x1=-1:h1(1):1;y1=subs(fx,x1);f1=Newton(x1,y1);y01=subs(f1,x0);x2=-1:h1(2):1;y2=subs(fx,x2);f2=Newton(x2,y
19、2);y02=subs(f2,x0);x3=-1:h1(3):1;y3=subs(fx,x3);f3=Newton(x3,y3);y03=subs(f3,x0);x4=-1:h1(4):1;y4=subs(fx,x4);f4=Newton(x4,y4);y04=subs(f4,x0);x5=-1:h1(5):1;y5=subs(fx,x5);f5=Newton(x5,y5);y05=subs(f5,x0);figure,plot(x0,y0,x0,y01,x0,y02,x0,y03,x0,y04,x0,y05),title(所有结果);x6=-1:h2(1):1;y6=subs(fx,x6);
20、f6=Newton(x6,y6);y06=subs(f6,x0);x7=-1:h2(2):1;y7=subs(fx,x7);f7=Newton(x7,y7);y07=subs(f7,x0);x8=-1:h2(3):1;y8=subs(fx,x8);f8=Newton(x8,y8);y08=subs(f8,x0);x9=-1:h2(4):1;y9=subs(fx,x9);f9=Newton(x9,y9);y09=subs(f9,x0);x10=-1:h2(5):1;y10=subs(fx,x10);f10=Newton(x10,y10);y010=subs(f10,x0);figure,plot
21、(x0,y0,x0,y06,x0,y07,x0,y08,x0,y09,x0,y010),title(龙格现象);%三次样条插值spline自带命令x0=-5:0.01:5;y0=subs(fx,x0);figure,subplot(2,3,1),plot(x0,y0),title(精确图);y11=spline(x1,y1,x0);subplot(2,3,2),plot(x0,y11),title(n=1);y12=spline(x2,y2,x0);subplot(2,3,3),plot(x0,y12),title(n=5);y13=spline(x3,y3,x0);subplot(2,3,4
22、),plot(x0,y13),title(n=10);.学习帮手.y14=spline(x4,y4,x0);subplot(2,3,5),plot(x0,y14),title(n=20);y15=spline(x5,y5,x0);subplot(2,3,6),plot(x0,y15),title(n=25);figure,plot(x0,y0,x0,y11,x0,y12,x0,y13,x0,y14,x0,y15),title(所有结果);第二题:代码如下:clear all;clc;x=2 3 4 7 8 10 11 14 16 18 19;y=106.42 108.2 109.5 110 1
23、09.93 110.49 110.59 110.6 110.76 111 111.2;%Agenda 1A=(x.*x)x ones(11,1);A1=A*A;y1=A*y;c1=A1y1x1=2:0.1:19;y1=polyval(c1,x1);plot(x,y,k*,x1,y1,r),gtext(曲线一),hold ony01=polyval(c1,x);delta1_2=sum(y-y01).2)%Agenda 2xx=-1./x;yy=log(y);.学习帮手.B=ones(11,1)xx;B1=B*B;yy1=B*yy;c2=B1yy1;syms s;a=exp(c2(1);b=c2
24、(2);a bf=a*exp(-b/s);x2=x1;y2=subs(f,x2);plot(x2,y2,b),gtext(曲线二);y02=subs(f,x);delta2_2=sum(y-y02).2)实验结果实验结果:第一题:1.牛顿插值结果.学习帮手.所 有 结 果0.20.1950.190.1850.180.1750.170.165-1-0.8-0.6-0.4-0.200.20.40.60.81图 2.1 不同节点数的牛顿插值多项式综合图龙 格 现 象0.20.190.180.170.160.15-1-0.8-0.6-0.4-0.200.20.40.60.81图 2.2 龙格现象.学习
25、帮手.由图可知,2.三次样条插值结果精 确 图n=1n=50.220.80.1510.60.10.40.0500.20-505-1-5050-505n=10n=20n=250.80.80.80.60.60.60.40.40.40.20.20.20-5050-5050-505图 2.3 不同节点下的三次样条插值结果.学习帮手.所 有 结 果0.70.60.50.40.30.20.10-5-4-3-2-1012345图 2.4 不同节点数的三次样条的综合图由图可知,牛顿插值多项式在较小的时候如差值效果良好,当变大时如就出现了龙格现象,三次样条在各个子区间内为三次多项式,拟合效果好.第二题1.第一问
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数值 分析 实验 报告
限制150内