资源描述:
《用下列方法求f.docx》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、用下列方法求f(x)=x3-3x-1=0在x0=2附近的根,根的精确值x*=1.......要求结果精确到四位有效数字。(1)牛顿法+埃特金加速+斯蒂芬森(2)弦截法+埃特金加速+斯蒂芬森(3)二分法(4)基本迭代法本次试验我采用函数的方式来实现上式要求,函数程序如下:1、牛顿法function[x,k]=newton(f,df,x0,ep,N)%f为原函数%df为导函数ifnargin<5,N=500;endifnargin<4,ep=1e-3;endk=0;whilek2、abs(x-x0)3、ep)%f为原函数%a和b为x轴的区间x=(a+b)/2.0;k=0;whileabs(feval(f,x))>ep
4、
5、(b-a>ep)iffeval(f,x)*feval(f,a)<0b=x;elsea=x;endx=(a+b)/2.0;k=k+1;end2、基本迭代法function[x,k]=diedai(phi,x0,ep,N)%phi为迭代式%ep为精度%N为迭代次数ifnargin<4,N=40;endifnargin<3,ep=1e-4;endk=0;whilek6、break;endx0=x;k=k+1;end1、埃特金加速function[x,k]=aitken(phi,x0,ep,N)ifnargin<4,N=500;endifnargin<3,ep=1e-4;endk=0;whilek7、N=500;endifnargin<3,ep=1e-4;endk=0;whilek>[x,k
8、]=aitken(phi,2,1e-3,20)(c)、phi=@(x)x^3-3*x-1;>>[x,k]=sitefensen(phi,2,1e-3,20)分析结果分别如下:对结果进行分析:(1)、在命令行分别输入以下语句:分别表示弦切法法、弦切法的埃特金加速、弦切法法的斯特芬森加速(a)、f=@(x)x^3-3*x-1;[x,k]=xianqie(f,1,2,1e-3,20)(b)、phi=@(x)x^3-3*x-1;>>[x,k]=aitken(phi,2,1e-3,20)(c)、phi=@(x)x^3-3*x-1;>>[x,k]=ai
9、tken(phi,2,1e-3,20)计算结果分别为:(1)、在命令行分别输入以下语句:下面的语句表示二分法f=@(x)x^3-3*x-1;[x,k]=TwoDiv(f,1,2,1e-3)结果为分析结果:(2)在命令行分别输入以下语句:分别表示基本迭代法、迭代法的埃特金加速、迭代法的斯特芬森加速(a)、phi=@(x)(1+3*x)^(1/3);[x,k]=diedai(phi,2,1e-3,40)(b)、phi=@(x)x^3-3*x-1;>>[x,k]=aitken(phi,2,1e-3,20)(c)、phi=@(x)x^3-3*x-1
10、;>>[x,k]=sitefensen(phi,2,1e-3,20)结果分别为:分析结果为: