计算方法大作业非线性方程求根的新方法
- 格式:docx
- 大小:17.66 KB
- 文档页数:3
求解非线性方程的三种新的迭代法非线性方程是指未知数的高次幂或三角函数、指数函数等构成的方程。
非线性方程的求解是数值计算中的一个重要问题,常用的方法有迭代法、试位法、牛顿法等。
下面介绍三种新的迭代法。
1. 牛顿法的改进牛顿法是一种求解非线性方程的常用方法,通过选择合适的初始值,可以得到方程的一个根。
在某些情况下,牛顿法的收敛速度较慢,甚至可能发散。
为了克服这个问题,有人提出了牛顿法的改进方法。
改进的思想是在每一步的迭代中引入一个修正因子,使得每一步的迭代都能够加速收敛。
这个修正因子可以选择为方程导数的逆矩阵,或者通过数值计算方法来估计。
通过引入修正因子,可以使得牛顿法的收敛速度更快,提高求解非线性方程的效率。
2. 弦截法弦截法是一种求解非线性方程的迭代法,它可以看作是牛顿法的一种变形。
在牛顿法中,通过选择切线与x轴的交点作为新的逼近解,而在弦截法中,通过选择切线与两个初始逼近解的连线的交点作为新的逼近解。
弦截法的迭代公式为:Xn+1 = Xn - f(Xn) * (Xn - Xn-1) / (f(Xn) - f(Xn-1))在每一步迭代中,选择两个初始逼近解Xn和Xn-1,代入上述迭代公式即可求得新的逼近解Xn+1。
通过不断迭代,可以逐渐接近方程的根。
3. 牛顿-拉夫逊法牛顿-拉夫逊法是一种变步长的牛顿法,它的主要思想是通过动态调整迭代步长的大小来提高求解非线性方程的效率。
在牛顿-拉夫逊法中,首先根据初始解得到牛顿法的逼近解,然后根据逼近解和方程的误差,动态调整迭代步长。
如果逼近解接近方程的根,将步长增加,以加快收敛速度;如果逼近解偏离方程的根,将步长减小,以避免迭代发散。
λ为步长调整因子,可以根据迭代过程中的收敛情况进行动态调整。
牛顿法的改进、弦截法和牛顿-拉夫逊法是三种求解非线性方程的新的迭代法。
这些方法通过引入修正因子、变化逼近解和动态调整步长等方法,可以提高求解非线性方程的效率和收敛速度。
第7章 非线性方程求根本章主要内容:1.区间二分法. 2切线法. 3.弦位法. 4.一般迭代法.重点、难点一、区间二分法区间二分法是求方程f(x)=0根的近似值的常用方法。
基本思想:利用有根区间的判别方法确定方程根的区间[a,b] ,将有根区间平分为二;再利用有根区间的判别方法判断那一个区间是有根区间;重复上述步骤,直到小区间端点差的绝对值小于等于精度要求的数值,则用将上一区间的分半值作为方程的根的近似值。
区间二分法的计算步骤如下: 1.计算区间端点的函数值f(a) , f(b)(不妨设f(a)<0,f(b)>0);确定初始有根区间[a,b]. 2.二分有根区间[a,b],并计算)2(ba f + 取21b a x +=3.判断: 若0)(1=x f ,则方程的根为1x x =*;若 0)(1>x f ,则有根区间为[]1,x a x ∈*;令[]],[,111b a x a =若 0)(1<x f ,则有根区间为[]b x x ,1∈*;令 []],[,111b a b x =4. 如果│b-a │<ε(ε为误差限),则方程的根为2ba x +=*;否则转向步骤2,继续二分有根区间[a 1,b 1],并计算中点值,继续有根区间的判断,直到满足精度要求为止,即│b n -a n │<ε二分次数的确定:如果给定误差限ε,则需要二分的次数可由公式12ln ln )ln(---≥εa b n 确定应二分的次数。
例1 用区间二分法求方程0353=+-x x 在某区间内实根的近似值(精确到0.001)【思路】参见上述区间二分法的计算步骤解 ∵f(1.8)=-0.168<0, f(1.9)=0.359>0 ∴f(x)在区间[1.8 ,1.9]内有一个根。
由公式 644.512ln 001.0ln 1.0ln 12ln ln )ln(=--=---≥εa b n取n=6, 计算结果列表如下:则方程在区间[1.8,1.9]内所求近似值为x *≈ x = 1.8328125区间二分法的优点是计算程序简单,只要f (x )在区间[a,b]上连续,区间二分法就可使用,但区间二分法不能用来求偶次重根,由于区间二分法收敛比较慢,在实际计算中,区间二分法常用来求比较好的含根区间和初始近似值,以便进一步使用收敛更快的迭代法求出更精确的近似值。
求解非线性方程和方程组的一些新方法求解线性方程分为两种方法–二分法和迭代法常见的方法一共有5种二分法迭代法牛顿法割线法拟牛顿法Halley法使用条件二分法需要知道两个自变量,分别是一个根的两侧牛顿法迭代法是最常用的方法,收敛性信赖于初值,取不同的初值可以的方程不同的根,函数用的是一阶导数,输入的是一个猜想的可能的值割线法给定两个初值再带入计算,比如要在2附近求一个根,那就可以假设这个范围是(1.9,2)拟牛顿法这个比较方便,用时最好可以找到一个好的初始值Halley法需要知道函数值以及它的一阶求导、二阶求导这里我从计算代码的角度来解释一下,代码按以下顺序给出。
把方程组直接带入已知条件,就可以得到答案。
二分法基本函数是这样子的:y = dichotomy(fun,a,b,tol);二分法的算法要输入四个变量,fun,a,b,tol:函数,一个根的左右点,tol=1.0e-6function y =fun(x)y = x^3-5* x +4.272;上面这个就是定义的fun,每次的输入的方程不同,第一条不动,直接改第二行就可以的。
比如这里我们要计算的方程y = x^3 - 5 * x + 4.272;我们是可以通过简单计算得到一个根的两侧分别是1和1.3那在窗口指令指令中输入x=dichotomy(’fun‘,1,1.3,1.0e-6)就可以得到结果function y =dichotomy(fun,a,b,tol)if nargin <4tol =1.0e-5;endn =1;iffeval(fun,a)*feval(fun,b)<0c =(a+b)/2;while(abs(b-c)>tol)&&(abs(feval(fun,c))>tol)if(feval(fun,c)*feval( fun,a)>0)a = c;c=(a+b)/2;elseif(feval(fun,c)*feval(fun,a)<0)b = c;c =(a+b)/2;elsey = c;tol =100;endn = n +1;endy = c;elseif feval(fun,a)==0y = a;elseif feval(fun,b)==0y = b;elsedisp('there may not be a root in the interval');endnfunction y =fun(x)y = x^3-5* x +4.272;牛顿法还是用刚才那道题,y = x^3 - 5 * x + 4.272,一阶导是y = 3 * x^2 - 5;function y =dfun(x)y =3* x^2-5;下面的是具体的算法,根据x = newton(x0,tol),我们只需要输入一个我们猜想的值就可以。
数值计算大作业题目一、非线性方程求根1.题目假设人口随时间和当时人口数目成比例连续增长,在此假设下人口在短期内的增长建立数学模型。
(1)如果令()N t 表示在t 时刻的人口数目,β表示固定的人口出生率,则人口数目满足微分方程()()dN t N t dt β=,此方程的解为0()=tN t N e β; (2)如果允许移民移入且速率为恒定的v ,则微分方程变成()()dN t N t vdt β=+, 此方程的解为0()=+(1)t t vN t N e e βββ-;假设某地区初始有1000000人,在第一年有435000人移入,又假设在第一年年底该地区人口数量1564000人,试通过下面的方程确定人口出生率β,精确到410-;且通过这个数值来预测第二年年末的人口数,假设移民速度v 保持不变。
4350001564000=1000000(1)e e βββ+-2.数学原理采用牛顿迭代法,牛顿迭代法的数学原理是,对于方程0)(=x f ,如果)(x f 是线性函数,则它的求根是很容易的,牛顿迭代法实质上是一种线性化方法,其基本思想是将非线性方程0)(=x f 逐步归结为某种线性方程来求解。
设已知方程0)(=x f 有近似根k x (假定0)(≠'x f ),将函数)(x f 在点k x进行泰勒展开,有.))(()()(⋅⋅⋅+-'+≈k k k x x x f x f x f于是方程0)(=x f 可近似地表示为))(()(=-'+k k x x x f x f这是个线性方程,记其根为1k x +,则1k x +的计算公式为)()(1k k k k x f x f x x '-==+,,,2,1,0⋅⋅⋅=k这就是牛顿迭代法,简称牛顿法。
3.程序设计作出函数的图像,大概估计出根的位置fplot('1000*exp(x)+(435*x)*(exp(x)-1)-1564',[0 3]);grid大概估计出初始值x=0.5function [p1,err,k,y]=newton(f,df,p0,delta,max1) % f 是非线性系数 % df 是f 的微商 % p0是初始值% dalta 是给定允许误差 % max1是迭代的最大次数 % p1是牛顿法求得的方程近似解 % err 是p0误差估计 % k 是迭代次数 p0,feval('f',p0) for k=1:max1p1=p0-feval('f',p0)/feval('df',p0); err=abs(p1-p0); p0=p1;p1,err,k,y=feval('f',p1) if(err<delta)|(y==0), break,endp1,err,k,y=feval('f',p1) endfunction y=f(x)y=1000000*exp(x)+435000*(exp(x)-1)/x-1564000; function y=df(x)y=1000000*exp(x)+435000*(exp(x)/x-(exp(x)-1)/x^2);4.结果分析与讨论newton('f','df',1.2,10^(-4),10) 运行后得出结果 p0 =0.5000p1 =0.1679 err =0.3321 k =1 y =9.2415e+004 p1 =0.1031 err =0.0648 k =2 y =2.7701e+003 p1 =0.1010 err =0.0021 k =3 y =2.6953p1 =0.1010 err =2.0129e-006 k =4 y = 2.5576e-006 ans =0.1010运算后的结果为1010.0=β,通过这个数值来预测第二年年末的人口数,0.10100.1010435000f(t)=1000000(1)0.1010t te e +-t=2时候对于f ()2187945.865x =实践表明,当初始值难以确定时,迭代法就不一定收敛了,因此要根据问题实际背景或者二分法先得一个较好的初始值,然后再进行迭代;再者迭代函数选择不合适的话,采用不动点迭代法也有可能出现不收敛的情况;因此我采用的是牛顿法。
课程设计课程名称:设计题目:学号:姓名:完成时间:题目一:非线性方程求根 一 摘要非线性方程的解析解通常很难给出,因此非线性方程的数值解就尤为重要。
本实验通过使用常用的求解方法二分法和Newton 法及改进的Newton 法处理几个题目,分析并总结不同方法处理问题的优缺点。
观察迭代次数,收敛速度及初值选取对迭代的影响。
用Newton 法计算下列方程(1) 310x x --= , 初值分别为01x =,00.45x =,00.65x =; (2) 32943892940x x x +-+= 其三个根分别为1,3,98-。
当选择初值02x =时给出结果并分析现象,当6510ε-=⨯,迭代停止。
解:1)采用MATLAB 进行计算;首先定义了Newton 法:function kk=newton(f,df,x0,tol,N)% Newton Method (牛顿法)% The first parameter f is a external function with respect to viable x.(第一个参数也就是本题所用的函数f )% The second parameter df is the first order diffential function of fx.(第二个参数也就是本体所用函数f 的导数方程df ) % x0 is initial iteration point(初值). % tol is the tolerance of the loop (精度).% N is the maximum number of iterations (循环上限). x=x0;f0=eval(f);df0=eval(df); n=0;disp(' [ n xn xn+1 fn+1 ]'); while n<=N x1=x0-f0/df0; x=x1; f1=eval(f); X=[n,x0,x1,f1]; disp(X);if abs(x0-x1)<tolfprintf('The procedure was successful.') kk=X; return else n=n+1; x0=x1;f0=f1;endendif n==N+1fprintf('the method failed after N iterations. '),kk=0;End我们把Newton法存为.m格式的文件;之后我们运行程序:clear;clc;syms xf=x^3-x-1;df=diff(f,x);x=newton(f,df,1,0.0001,50);x会得到一下结果[ n xn xn+1 fn+1 ]0 1.0000 1.5000 0.87501.0000 1.5000 1.0625 -0.86302.0000 1.0625 1.4940 0.8408到第50次迭代时候会出现该问题:47.0000 1.4898 1.0814 -0.816748.0000 1.0814 1.4898 0.816749.0000 1.4898 1.0814 -0.816750.0000 1.0814 1.4898 0.8167the method failed after N iterations.x =0;同样测试x0=0.45、0.65得不出结果,判断出初值离真值太远,所以我们采用牛顿下山法进行计算迭代:我们定义了其中的f函数和df函数,并且分别存为.m格式的文件,其代码如下:f:function y=f(x)y=x^3-x-1;df:function y=df(x)y=3*x^2-1;之后我们定义newton下山法同时也存为.m的程序:function [x,i]=downnewton(f,df,x0,tol)k=0;i=1;disp(' [ n xn xn+1 fn+1 ]'); while(k==0)fx=feval('f',x0);dfx=feval('df',x0);t=0;u=1;while(t==0)dx=-fx/dfx;x1=x0+u*dx;fx1=feval('f',x1);fx0=feval('f',x0);if(abs(fx1)>abs(fx0));u=u/2;elset=1;endendX=[i,x0,x1,fx1];disp(X);if(abs(fx1)<tol)k=1;elsex0=x1;i=i+1;endendx=x1;i=i;end之后带入x0=0.45;downnewton('f','df',0.45,10^(-6))[ n xn xn+1 fn+1 ]1.0000 0.4500 -0.4155 -0.65622.0000 -0.4155 -0.5857 -0.61523.0000 -0.5857 -0.5754 -0.61514.0000 -0.5754 -0.5782 -0.61515.0000 -0.5782 -0.5773 -0.61516.0000 -0.5773 -0.5774 -0.61517.0000 -0.5774 -0.5773 -0.61518.0000 -0.5773 -0.5774 -0.61519.0000 -0.5774 -0.5774 -0.615110.0000 -0.5774 -0.5774 -0.615111.0000 -0.5774 1.3131 -0.049012.0000 1.3131 1.3248 0.000513.0000 1.3248 1.3247 0.0000ans =1.3247带入x0=0.6;downnewton('f','df',0.6,10^(-6))[ n xn xn+1 fn+1 ]1.0000 0.6000 1.1406 -0.65662.0000 1.1406 1.3668 0.18663.0000 1.3668 1.3263 0.00674.0000 1.3263 1.3247 0.00005.0000 1.3247 1.3247 0.0000ans =1.3247带入x0=1;downnewton('f','df',1,10^(-6))[ n xn xn+1 fn+1 ]1.0000 1.0000 1.5000 0.87502.0000 1.5000 1.3478 0.10073.0000 1.3478 1.3252 0.00214.0000 1.3252 1.3247 0.0000ans =1.32472)同样采用Newton下山法:重新定义f、df:f:function y=f(x)y=x^3+94*x^2-389*x+294;df:function y=df(x)y=3*x^2+188*x-389;再带入初值x0=2;downnewton('f','df',2,5*10^(-6))[ n xn xn+1 fn+1 ]1 2 -98 0ans =-98得出x=-98;分析:先画出该函数的图像;x=(-100:.1:100);ezplot('x^3+94*x^2-389*x+294',[-100 100]) 得出该图像如图:-100-80-60-40-20020406080024681012141618x 105xx 3+94 x 2-389 x+294根据牛顿法的几何解释,在x0=2的点做切线,与y 相交,交点的横坐标值为x=-98则结束了该现象。
第7章 非线性方程求根本章主要内容:1.区间二分法. 2切线法. 3.弦位法. 4.一般迭代法.重点、难点一、区间二分法区间二分法是求方程f(x)=0根的近似值的常用方法。
基本思想:利用有根区间的判别方法确定方程根的区间[a,b] ,将有根区间平分为二;再利用有根区间的判别方法判断那一个区间是有根区间;重复上述步骤,直到小区间端点差的绝对值小于等于精度要求的数值,则用将上一区间的分半值作为方程的根的近似值。
区间二分法的计算步骤如下: 1.计算区间端点的函数值f(a) , f(b)(不妨设f(a)<0,f(b)>0);确定初始有根区间[a,b]. 2.二分有根区间[a,b],并计算)2(ba f + 取21b a x +=3.判断: 若0)(1=x f ,则方程的根为1x x =*;若 0)(1>x f ,则有根区间为[]1,x a x ∈*;令[]],[,111b a x a =若 0)(1<x f ,则有根区间为[]b x x ,1∈*;令 []],[,111b a b x =4. 如果│b-a │<ε(ε为误差限),则方程的根为2ba x +=*;否则转向步骤2,继续二分有根区间[a 1,b 1],并计算中点值,继续有根区间的判断,直到满足精度要求为止,即│b n -a n │<ε二分次数的确定:如果给定误差限ε,则需要二分的次数可由公式12ln ln )ln(---≥εa b n 确定应二分的次数。
例1 用区间二分法求方程0353=+-x x 在某区间内实根的近似值(精确到0.001)【思路】参见上述区间二分法的计算步骤解 ∵f(1.8)=-0.168<0, f(1.9)=0.359>0 ∴f(x)在区间[1.8 ,1.9]内有一个根。
由公式 644.512ln 001.0ln 1.0ln 12ln ln )ln(=--=---≥εa b n取n=6, 计算结果列表如下:则方程在区间[1.8,1.9]内所求近似值为x *≈ x = 1.8328125区间二分法的优点是计算程序简单,只要f (x )在区间[a,b]上连续,区间二分法就可使用,但区间二分法不能用来求偶次重根,由于区间二分法收敛比较慢,在实际计算中,区间二分法常用来求比较好的含根区间和初始近似值,以便进一步使用收敛更快的迭代法求出更精确的近似值。
求解非线性方程的三种新的迭代法非线性方程在数学和工程中都有广泛的应用,对非线性方程进行求解是数学分析中的一项重要任务。
在数值分析中,求解非线性方程的方法可以分为直接法和迭代法两种,而迭代法又是非常常用的方法之一。
本文将介绍三种新的非线性方程迭代法,分别是Newton 法、Secant法和Broyden法。
Newton法是最经典的非线性方程迭代法之一,它是通过不断迭代来逼近方程的根。
Newton法的基本思想是在给定初始值的情况下,通过计算方程的导数来获得更接近根的逼近值,然后不断迭代直到满足精度要求为止。
具体的迭代公式为:\[ x_{n+1} = x_n - \frac{f(x_n)}{f'(x_n)} \]\(x_n\)是第n次迭代的逼近值,\(f(x)\)是要求解的非线性方程,\(f'(x)\)是\(f(x)\)的导数。
在实际应用中,Newton法通常要求方程的一阶导数存在且连续,同时初始值的选取也对迭代的收敛性有很大的影响。
Secant法是Newton法的一种改进方法,它是通过直线的斜率来近似代替导数的方法来进行迭代。
Secant法的迭代公式为:Secant法相比于Newton法来说更加灵活,因为它不需要求解方程的导数,而直接利用两个相邻点的函数值来进行迭代。
然而Secant法的收敛速度相对较慢,而且在一些特殊情况下可能会出现迭代发散的情况。
Broyden法是一种迭代算法,它是通过不断更新雅各比矩阵的逆来逼近方程的根。
Broyden法的迭代公式为:\(x_n\)是第n次迭代的逼近值,\(J_n\)是第n次迭代的雅各比矩阵。
Broyden法适用于一些特殊情况下,比如方程的雅各比矩阵难以求解的情况,或者求解方程的雅各比矩阵耗时较长的情况。
Newton法、Secant法和Broyden法都是针对非线性方程迭代求解的常用方法,它们各自有着不同的特点和适用范围。
在实际应用中,我们需要根据具体的情况来选择合适的迭代方法,并且在迭代过程中需要考虑其收敛性、稳定性和计算效率等因素。
计算方法大作业
题目:非线性方程求根的新方法
班级:xxx
学号:xxx
姓名:xxx
非线性方程求根的新方法
一、问题引入
在计算和实际问题中经常遇到如下非线性问题的求解:
F(x)=0 (1)
我们经常采用的方法是经典迭代法:
经典迭代方法
不动点迭代方法是一种应用广泛的方法,其加速方法较多,如Stiffensen加速方法的局
部收敛阶(以下简称为收敛阶)为2阶;牛顿迭代方法的收敛阶亦为2阶,且与其相联系的一
些方法如简化牛顿法、牛顿下山法、弦截法的收敛阶阶数介于1和2之间;而密勒法的收敛
阶与牛顿法接近,但计算量较大且涉及零点的选择问题,同时收敛阶也不够理想。
因此本文介绍一种新的迭代方法
从代数角度看,牛顿法和密勒法分别是将f(x)在xk附近近似为一线性函数和二次抛物插
值函数,一种很自然的想法就是能否利用Taylor展开,将f(x)在xk附近近似为其他的二次函
数?答案是肯定的.其中的一种方法是将f(x)在Xk处展开3项,此时收敛阶应高于牛顿法,这
正是本文的出发点.
二、算法推导
设函数f(x)在xk附近具有二阶连续导数,则可将f(x)在xk处进行二阶Taylor展开,方程(1)
可近似为如下二次方程:
f(xk)+f’(xk)(x-xk)+2^(-1)f’’(xk)(x-xk)^2=0,(2)
即
2^(-1)f’’(xk)x^2+(f’(xk)-xkf’’(xk))x+2^(-1)f’’(xk)xk^2-xkf’(xk)+f(xk)=0(3)
利用求根公式可得
X=xk-(f’’(xk))^(-1)(f’(xk))-sqrt((f’(xk)^2±2f’’(xk)f(xk)))(4)
其中±符号的选取视具体问题而定,从而可构造迭代公式
X k+1=xk-(f’’(xk))^(-1)(f’(xk))-sqrt((f’(xk)^2±2f’’(xk)f(xk)))(5)
确定了根号前正负号的迭代公式(5),可称为基于牛顿法和Taylor展开的方法,简记为BNT
方法.
为描述方便起见,以下将f(xk),f’(xk),f’’(xk)分别记为f,f’,f’’.首先,二次方程(3)对应于一
条抛物曲线,其开口方向由f’’(xk),x∈U(xk)的符号确定,其中U(xk)为xk的某邻域,其顶点
为
P(xk-(f’’)^(-1)f’,fk-(2f’’)^(-1)(f’)^2).为使(5)式唯一确定x k+1,须讨论根式前正负号的取舍问
题.下面从该方法的几何意义分析(5)式中正负号的取舍.
1)当f(xk)=o时,z。即为所求的根.
2)当f(xk)>O时,根据y=f(x)的如下4种不同情形(见图1)确定(5)式中根号前的符号.
(a)当f’’(xk)
f’’(xk)
f’’(xk)>o,f(xk)
算法1
Step 1:取初始迭代值z。,给出最大迭代次数N和精度£,并令累计迭代次数k=0.
Step 2:k=k+1.
Step 3:若f’’(xk)=0,则此时f(x)可近似为线性函数,采用牛顿法求之;否则计算△=
(f’(xk))^2—2f’’(xk)f(xk).
Step 4:判定△的符号,若△<0,则算法停止;否则利用(5)进行计算,得到x k+1.
Step 5:判定是否停止迭代,如果k>N或|x k+1-xk|≤£,则停止迭代;否则回到Step2.
注:①当k>N时,非线性迭代不收敛,当Iz川一z。I≤£时,非线性迭代收敛;②当△<0
时,该非线性方程在该区间不存在实根;③该方法可推广到非线性方程组的情形.
2.2局部收敛阶
类似于牛顿法,可将BNT方法视为一种不动点方法,则对应的迭代函数为
φ x =x−(f′′(x))−1(𝑓′(𝑥)∓ 𝑓′ 𝑥 2−2𝑓′′(𝑥)𝑓(𝑥)_))(6)
利用迭代函数(6),通过计算与推导,可得BNT方法的局部收敛阶.
设f(x)∈𝑐3[a,b],x为φ x 的不动点,BNT方法的局部收敛阶为3阶.
3 数值实验
为验证BNT方法的有效性,下面进行数值实验.
例:求方程f(x)=𝑥
3
−𝑥−1=0在区间[1,2]上的根.
首先,可构造两种不同的不动点迭代方法,分别为x𝑘+1=(𝑥𝑘+1)1/3,x
𝑘+1=𝑥𝑘
1/3
−1,k=1,
2,3,⋯,并简记为FPl,FP2.将BNT方法与FPl,FP2,FP2的Stenffensen加速、牛顿法
和密勒法求根进行比较,数值实验中初始迭代值取x。=1.5,近似真解为x=1.324 7,结
果如表l所示.由表1可知:
BNT方法的收敛速度最快,且较牛顿法快,从而验证了本文
方法的有效性.
表1 对比实验结果
迭代方法 迭代次数
FP1 7
FP2
不收敛
FP2的Stenffensen加速
6
牛顿法
4
密勒法
5
BNP方法
3