[摘 要] 本文運用拉格朗日插值法、牛頓插值法和分段線性插值法來擬合魚類體長和體重之間的關(guān)系,并比較幾種插值方法在漁業(yè)資源評估中的效果。
[關(guān)鍵詞] 插值法 漁業(yè)資源評估
一、引言
魚類等個體的生長可用其長度或體重增長數(shù)據(jù)資料描述其生長規(guī)律 ,因為漁業(yè)生物學(xué)資料收集中這兩項數(shù)據(jù)最容易獲得。在海上工作時,測量體長比稱體重要方便得多,而且體重會因加工而變化,但長度一般卻不會。同時,與體重相比,體長更不易受季節(jié)條件波動的影響。因此,在漁業(yè)評估中 常常要對體長與體重進(jìn)行換算,故擬合體長與體重的關(guān)系十分必要,下面我們運用拉格朗日插值法牛頓插值法和分段線性插值法對該問題進(jìn)行分析研究。
二、插值法在漁業(yè)資源評估中的實例應(yīng)用及分析
由詹秉義所著《漁業(yè)資源評估漁》中得1982年北部20條灣藍(lán)圓鲹體長(mm)和體重(g)的實測結(jié)果。結(jié)合各種插值法分析,在相應(yīng)的MATLAB插值程序中輸入體長與對應(yīng)的體重的實測原始數(shù)據(jù),確認(rèn)后,只要輸入相應(yīng)的體長值就可以得到相應(yīng)的體重值?,F(xiàn)假設(shè)求體長為200mm的一尾魚的體重。
1.拉格朗日插值法
(1)節(jié)點內(nèi)插時
我們以200mm為中心選取對稱的實測體長區(qū)間進(jìn)行插值計算(n為所取的對稱區(qū)間內(nèi)實測數(shù)據(jù)組數(shù)):
用MATLAB作圖比較可得:
由運行結(jié)果來看,并不是選擇的節(jié)點越多,誤差越小,從它的插值余項來看,余項的大小既與節(jié)點個數(shù)的多少有關(guān),也與函數(shù)f(x)的高階導(dǎo)數(shù)有關(guān)。即高次曲線的近似效果并不見得好,這就是所謂的龍格振蕩現(xiàn)象。
(2)節(jié)點外插時
在實測范圍中選取幾組體長和體重值,預(yù)測這幾組值之外的體長對應(yīng)的體重值并與真實值之間的誤差。
選取6組值作為插值節(jié)點(從上圖可知,n=6時逼近效果比較好)
另外選取4個體長值,運用拉格朗日插值法預(yù)測相應(yīng)體重值,并與真實值做比較。
用MATLAB作圖比較得:
線表示根據(jù)實測數(shù)據(jù)畫的曲線,星星是利用朗格朗日外插法算出來的相應(yīng)體重。
可以看出與真實值的偏差原來越大,所以拉格朗日插值不適合做外插。即在選取要估測的魚的體長時要慎重,只能在所測量值[min xj,max xj](1≤j≤n)中選取,超過這個范圍進(jìn)行取值,所得結(jié)果一般是不可靠的。所以測量體長時應(yīng)選擇個體差異較大的,各種體長的魚盡可能都進(jìn)行測量統(tǒng)計。
2.牛頓插值法
插值節(jié)點選取同拉格朗日一致,節(jié)點內(nèi)插。
由結(jié)果來看用拉格朗日插值法和用牛頓插值法結(jié)果是一樣的。但從兩者插值多項式表達(dá)式上來看,拉格朗日插值要比牛頓插值復(fù)雜,且速度較慢(用于技術(shù)水平有限,還不能用程序運行速度來比較兩者的快慢)。
3.分段線性函數(shù)插值(結(jié)點一定要內(nèi)插)
由運行結(jié)果可知的體重值只與體長值所在的區(qū)間 有關(guān),無論選取多少個實測體長值作為插值結(jié)點,不影響體重值的大小,它可以有效地避免龍格振蕩現(xiàn)象。
三、結(jié)論
通過上結(jié)面各種插值法運行求解比較可知,在漁業(yè)資源評估中,根據(jù)實測數(shù)據(jù),已知魚的體長估測其體重時運用拉格朗日插值法和牛頓插值法結(jié)果是相同的,但從其多項式表達(dá)式上講,牛頓插值要比拉格朗日插值簡單。在運用拉格朗日插值法時,要注意插值節(jié)點個數(shù)的選擇,避免龍格現(xiàn)象,而且節(jié)點盡量內(nèi)插,所以測量體長時應(yīng)選擇個體差異較大的,各種體長的魚盡可能都進(jìn)行測量統(tǒng)計,而運用分段線性插值法則能避免龍格現(xiàn)象。
參考文獻(xiàn):
[1]石瑞民 許志剛 孫 靖:數(shù)值計算.北京:高等教育出版社,2004
[2]詹秉義:漁業(yè)資源評估[M].北京:中國農(nóng)業(yè)出版社,2000,18~25