楊 兵,郭 巧,王偉昌,江本赤
(1.安徽職業(yè)技術(shù)學(xué)院智能制造學(xué)院,安徽 合肥 230011;2.安徽職業(yè)技術(shù)學(xué)院計(jì)算機(jī)科學(xué)與工程學(xué)院,安徽 合肥 230011;3.安徽工布智造工業(yè)科技有限公司,安徽 合肥 238000;4.安徽工程大學(xué),安徽 蕪湖 241000)
Newton迭代法作為求解非線性方程根的經(jīng)典算法,具有方法簡(jiǎn)單、計(jì)算量小的特點(diǎn),一直被科研工作者所認(rèn)可,但是Newton迭代法收斂速度一般,迭代效果對(duì)于復(fù)雜非線性方程無(wú)法滿(mǎn)足精度要求.本文利用函數(shù)值Padé逼近的[1/1]階迭代算法,通過(guò)對(duì)非線性方程f(x)=0進(jìn)行指數(shù)加權(quán)同等變形為eg(x)f(x)=0,并對(duì)加權(quán)因子g(x)進(jìn)行不同類(lèi)型函數(shù)賦值,得到帶參數(shù)a的四類(lèi)三階收斂的迭代算法[1].通過(guò)收斂性分析和數(shù)值實(shí)例發(fā)現(xiàn),參數(shù)a的取值并不影響收斂階數(shù)和效率指數(shù),但是當(dāng)參數(shù)a取特定值時(shí)所得到的迭代算法的收斂速度會(huì)大大優(yōu)于基礎(chǔ)迭代.這一發(fā)現(xiàn)更加證實(shí)了該迭代算法的實(shí)用性和有效性.
令函數(shù)f(x)表示為
f(x)=c0+c1(x-x0)+c2(x-x0)2+…,
設(shè)定
其中,當(dāng)i<0時(shí),ci=0.
定義1.1 為求解非線性方程f(x)=0的近似根,可以通過(guò)指數(shù)加權(quán)等價(jià)變形為eg(x)f(x)=0的形式,g(x)為任意函數(shù).
定義1.2[2]記rm,n(x)=p0(x)/q0(x)=p(x)/q(x)(等價(jià)為(m,n)f)為函數(shù)f(x)的[m/n]階Padé逼近,并且
?p≤m, ?q≤n,ω(fq-p)≥m+n+1.
令方程r1,1=0,化簡(jiǎn)得到
故公式
(1.1)
即為[1/1]階Padé逼近迭代[2].
令函數(shù)h(x)=eg(x)f(x)代替公式(1.1)中的f(x),于是有
因?yàn)?/p>
h′(x)=f′(x)eg(x)+eg(x)g′(x)f(x),
于是
(2.1)
(i)當(dāng)g(x)=-ax時(shí),將g′(x)=-a,g″(x)=0代入式(2.1),于是有迭代公式:
(2.2)
(2.3)
代入式(2.1),于是有迭代公式:
xn+1-xn=
(2.4)
代入式(2.1),于是有迭代公式:
(2.5)
定理3.1 設(shè)非線性方程f(x)=0(f∶I?R→R,x∈I,I為開(kāi)區(qū)間)的定義域區(qū)間內(nèi)的一個(gè)單根記為x*,若序列xn→x*,則由公式(2.2)定義的迭代序列三階收斂[3],且誤差公式表示為
證明 非線性函數(shù)f(xn)在x*點(diǎn)Taylor展開(kāi):
故
迭代公式(2.2)整理化簡(jiǎn)為
故
定理3.2 設(shè)非線性方程f(x)=0(f∶I?R→R,x∈I,I為開(kāi)區(qū)間)的定義域區(qū)間內(nèi)的一個(gè)單根,記為x*,若序列xn→x*,則由公式(2.3)定義的迭代序列三階收斂[4],且誤差公式表示為
證明 非線性函數(shù)f(xn)在x*點(diǎn)Taylor展開(kāi):
故
迭代公式(2.2)整理化簡(jiǎn)為
故
定理3.3 設(shè)非線性方程f(x)=0(f∶I?R→R,x∈I,I為開(kāi)區(qū)間)的定義域區(qū)間內(nèi)的一個(gè)單根記為x*,若序列xn→x*,則由公式(2.4)定義的迭代序列三階收斂,且誤差公式表示為
證明 非線性函數(shù)f(xn)在x*點(diǎn)Taylor展開(kāi):
結(jié)合定理3.1、定理3.2、定理3.3的證明,則有
迭代公式(2.5)整理化簡(jiǎn)為
故
定理3.4 設(shè)非線性方程f(x)=0(f:I?R→R,x∈I,I為開(kāi)區(qū)間)的定義域區(qū)間內(nèi)的一個(gè)單根記為x*,若序列xn→x*,則由公式(2.5)定義的迭代序列三階收斂[5-6],且誤差公式表示為
證明 非線性函數(shù)f(xn)在x*點(diǎn)Taylor展開(kāi):
結(jié)合定理3.1、定理3.2、定理3.3的證明,故有
迭代公式(2.5)整理化簡(jiǎn)為
故
例4.1 已知函數(shù)f(x)=x5-3x2+2,利用迭代公式(2.1)至(2.5)取參數(shù)a為特定值時(shí)的非線性方程f(x)=x5-3x2+2=0的近似根.初始值為-1,誤差公式為|xn-xn+1|≤10-5,通過(guò)Python計(jì)算機(jī)編程處理,迭代結(jié)果見(jiàn)表1.
表1 例4.1迭代結(jié)果
例4.2 已知函數(shù)f(x)=x3-x2-1,利用迭代公式(2.1)至(2.5)取參數(shù)a為特定值時(shí)的非線性方程f(x)=x3-x2-1=0的近似根.初始值為-1,誤差公式為|xn-xn+1|≤10-5,通過(guò)Python計(jì)算機(jī)編程處理,計(jì)算結(jié)果見(jiàn)表2.
表2 例4.2迭代結(jié)果
由例4.1和例4.2的迭代結(jié)果可以發(fā)現(xiàn),通過(guò)指數(shù)加權(quán)后確定的四類(lèi)基于函數(shù)值Padé逼近的[1/1]階改進(jìn)迭代算法在保持三階收斂的同時(shí),通過(guò)調(diào)試改變參數(shù)a值,所得到的迭代公式的收斂效果均優(yōu)于基礎(chǔ)迭代,而參數(shù)a取不同值所得到的迭代公式的收斂速度亦不相同.這一發(fā)現(xiàn)與第三部分收斂性分析中四類(lèi)迭代公式的誤差系數(shù)不同的結(jié)論相一致.通過(guò)調(diào)試參數(shù)的變化來(lái)改變收斂速度,對(duì)于非線性方程求精確解具有重要的參考意義,亦可以推廣到非線性方程組的應(yīng)用[7-8].該算法在機(jī)器學(xué)習(xí)中構(gòu)建分類(lèi)器和機(jī)器人算法領(lǐng)域有潛在的應(yīng)用價(jià)值[9].