您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 资本运营 > 迭代函数对收敛性的影响实验报告
迭代函数对收敛性的影响一、实验目的:初步了解非线性方程的简单迭代法及其收敛性,体会迭代函数对收敛性的影响,知道当迭代函数满足什么条件时,迭代法收敛。二、实验内容:用简单迭代法求方程012)(3xxxf的根。方案一:化012)(3xxxf为等价方程)(213xxx方案二:化012)(3xxxf为等价方程)(123xxx三、实验要求:(1)分别对方案一、方案二取初值00x,迭代10次,观察其计算值,并加以分析。(2)用MATLAB内部函数solve直接求出方程的所有根,并与(1)的结果进行比较。四、迭代法程序function[k,piancha,xdpiancha,xk]=diedai(x0,k)x(1)=x0;fori=1:kx(i+1)=fun1(x(i));piancha=abs(x(i+1)-x(i));xdpiancha=piancha/(abs(x(i+1))+eps);i=i+1;xk=x(i);[(i-1)pianchaxdpianchaxk]endif(piancha1)&(xdpiancha0.5)&(k3)disp('此迭代序列发散,请重新输入新的迭代公式')return;endif(piancha0.001)&(xdpiancha0.0000005)&(k3)disp('此迭代序列收敛,且收敛速度较快')return;endp=[(i-1)pianchaxdpianchaxk]'五、实验结果:方案一:化012)(3xxxf为等价方程)(213xxx建立M文件fun1.m的文件functiony1=fun1(x)y1=((x+1)./2).^(1/3)在MATLAB窗口输入程序[k,piancha,xdpiancha,xk]=diedai(0,10)运行后输出结果y1=0.7937ans=1.00000.79371.00000.7937y1=0.9644ans=2.00000.17070.17700.9644y1=0.9940ans=3.00000.02970.02980.9940y1=0.9990ans=4.00000.00500.00500.9990y1=0.9998ans=5.00000.00080.00080.9998y1=1.0000ans=6.00000.00010.00011.0000y1=1.0000ans=7.00000.00000.00001.0000y1=1.0000ans=8.00000.00000.00001.0000y1=1.0000ans=9.00000.00000.00001.0000y1=1.0000ans=10.00000.00000.00001.0000此迭代序列收敛,且收敛速度较快k=10piancha=1.0685e-07xdpiancha=1.0685e-07xk=1.00002、方案二:化012)(3xxxf为等价方程)(123xxx(1)建立M文件fun,m的文件functiony1=fun1(x)y1=2.*(x.^3)-1(2)在MATLAB窗口输入程序[k,piancha,xdpiancha,xk]=diedai(0,10)(3)运行后输出结果y1=-1ans=1.00001.00001.0000-1.0000y1=-3ans=2.00002.00000.6667-3.0000y1=-55ans=3.000052.00000.9455-55.0000y1=-332751ans=1.0e+05*0.00003.32700.0000-3.3275y1=-7.3687e+16ans=1.0e+16*0.00007.36870.0000-7.3687y1=-8.0019e+50ans=1.0e+50*0.00008.00190.0000-8.0019y1=-1.0247e+153ans=1.0e+153*0.00001.02470.0000-1.0247y1=-Infans=8InfNaN-Infy1=-Infans=9NaNNaN-Infy1=-Infans=10NaNNaN-Infp=10NaNNaN-Infk=10piancha=NaNxdpiancha=NaNxk=-Inf3、用MATLAB内部函数solve直接求(1)输入程序x=solve('2.*(x.^3)-x-1=0')运行后输出的结果x=1.-.50000000000000000000000000000000+.50000000000000000000000000000000*i-.50000000000000000000000000000000-.50000000000000000000000000000000*i表12个迭代公式的计算结果迭代第10次的偏差迭代第10次的相对偏差x1x2x3x4x5x6x7x8x9x10方案一1.0685e-071.0685e-070.79370.96440.99400.99900.99981.00001.00001.00001.00001.0000方案二NaNNaN-1-3-55-332751-7.3687e+16-8.0019e+50-1.0247e+153-Inf-Inf-Inf六、实验结果分析:从表1可以看出,方案一收敛很快,偏差和偏差的相对误差几乎为零;方案二根本不收敛,它的偏差piancha已经NaN且相对误差xdwucha的知也已经NaN。由此可见,迭代序列的敛散性与迭代公式有关,也与相邻两次迭代的偏差和偏差的相对误差有关,他们的值越小,迭代序列的收敛速度越快。由实验结果看出用MATLAB内部函数solve直接求得方程的跟有三个,计算结果准确,并且根算的比较全。但用solve命令求解方程根的方法有缺点,它不能求出周期函数)(xf对应的方程)(xf=0的全部根。
本文标题:迭代函数对收敛性的影响实验报告
链接地址:https://www.777doc.com/doc-5565588 .html