Newton迭代法算法报告.doc
文本预览下载声明
实验题目4 Newton迭代法
摘要
为初始猜测,则由递推关系
产生逼近解的迭代序列,这个递推公式就是Newton法。当距较近时,很快收敛于。但当选择不当时,会导致发散。故我们事先规定迭代的最多次数。若超过这个次数,还不收敛,则停止迭代另选初值。
前言
利用牛顿迭代法求的根
程序设计流程
问题1
程序运行如下:
r = NewtSolveOne(fun1_1,pi/4,1e-6,1e-4,10)
r = 0.7391
程序运行如下:
r = NewtSolveOne(fun1_2,0.6,1e-6,1e-4,10)
r = 0.5885
问题2
程序运行如下:
r = NewtSolveOne(fun2_1,0.5,1e-6,1e-4,10)
r = 0.5671
程序运行如下:
r = NewtSolveOne(fun2_2,0.5,1e-6,1e-4,20)
r = 0.5669
问题3
程序运行如下:
① p = LegendreIter(2)
p = 1.0000 0 -0.3333
p = LegendreIter(3)
p = 1.0000 0 -0.6000 0
p = LegendreIter(4)
p = 1.0000 0 -0.8571 0 0.0857
p = LegendreIter(5)
p = 1.0000 0 -1.1111 0 0.2381 0
② p = LegendreIter(6)
p = 1.0000 0 -1.3636 0 0.4545 0 -0.0216
r = roots(p)
r = -0.932469514203150 -0.661209386466265 0.932469514203153
0.661209386466264 -0.238619186083197 0.238619186083197
用二分法求根为:
r = BinSolve(LegendreP6,-1,1,1e-6)
r = -0.932470204878826 -0.661212531887755 -0.238620057397959
0.238600127551020 0.661192602040816 0.932467713647959
程序运行如下:
① p = ChebyshevIter(2)
p = 1.0000 0 -0.5000
p = ChebyshevIter(3)
p = 1.0000 0 -0.7500 0
p = ChebyshevIter(4)
p = 1.0000 0 -1.0000 0 0.1250
p = ChebyshevIter(5)
p = 1.0000 0 -1.2500 0 0.3125 0
② p = ChebyshevIter(6)
p = 1.0000 0 -1.5000 0 0.5625 0 -0.0313
r = roots(p)
r = -0.965925826289067 -0.707106781186548 0.965925826289068
0.707106781186547 -0.258819045102521 0.258819045102521
用二分法求根为:
r = BinSolve(ChebyshevT6,-1,1,1e-6)
r = -0.965929926658163 -0.707110969387755 -0.258828922193878
0.258818957270408 0.707105986926020 0.965924944196429
与下列代码结果基本一致,只是元素顺序稍有不同:
j = 0:5;
x = cos((2*j+1)*pi/2/(5+1))
x = 0.965925826289068 0.707106781186548 0.258819045102521
-0.258819045102521 -0.707106781186547 -0.965925826289068
程序运行如下:
① p = LaguerreIter(2)
p
显示全部