2023年10月4日研究了一下牛頓插值法,其用途是使用x、y兩組數值,根據新的x值返回對應的y值,與trend、forecast函式不同,這種方法可應對非線性資料。其作用類似於圖表中的曲線擬合或linest多項式擬合。類似這種迭代題,數學書上寫的很深奧,放到excel裡就很直觀了。
b、c列是x、y對應值,一階均差d3=(c3-c2)/($b3-$b2),下拉;
二階均差e4=(d4-d3)/($b4-$b2),下拉;
三階均差f5=(e5-e4)/($b5-$b2)。其他均差以此類推。每次新增乙個已有數值,均要增加一階。
這種方法只是為了便於理解,如果只有少量資料,使用這種方法也可行,如資料點多,每個點都要修改,工作量太大,故應使用d3=iferror((c3-c2)/($b3-offset($b$7,-columns($a3:a$7)-rows($a3:a$7)+1,0)),""),右拉,下拉,返回相同的資料。
a列是總計列,a2=c2,a3填,下拉。
f2是新的x值,g2=sum(a:a),即a列所有數值相加就是新y值。從結果看,精度相當高,其實萌軟應該寫個函式給大家用,然而並沒有,所以現在只能寫個公式玩,自定義函式肯定也能寫出來,不過也很繞。此處空白太少,我寫不下了。
這個是用linest做的多項式擬合,精度沒有牛頓插值法那麼高。下面的圖表中的公式是excel自帶的曲線擬合功能生成的公式,最高6次方,擬合的曲線此處與直線重合了,看不清楚。兩者的原理相同,應該都是使用linest函式生成,所以係數完全一致。matlab裡也有這種功能,如果資料要輸入excel,在excel中直接計算會更加方便。
x=11.5返回436.6132,還算可以接受。
像這種週期性資料就不能完全擬合了,可看到虛線,而且6次方多項式也不夠,7次方多項式才會比較接近,當然圖里只能到6次方多項式。x=11時一切正常。
x=12返回-13,也正常。
然而,在使用乙個自定義的x值時,牛頓插值法的表現又令人崩潰。x=11.5時返回-137.973,這和多項式擬合返回的結果截然不同。按說不太應該返回這個值。6.76這個值應該比較正常。不太確定怎麼回事,或許牛頓插值法不太適用於這種週期資料?可能是遇到了傳說中的龍格現象,高階導數產生的誤差逐漸擴散傳播後導致最終值極度偏離。
MATLAB資料插值和曲線擬合
在工程測量和科學實驗中,所得到的資料通常是離散的。如果要得到這些離散點以外的其他點的數值,就需要根據這些已知資料進行插值。根據被插值函式的自變數個數,插值問題分為一維插值 二維插值和多維插值等 根據是用分段直線 多項式或樣條函式來作為插值函式,插值問題又分為線性插值 多項式插值和樣條插值等。如果被插...
多項式曲線擬合
給定資料點pi xi,yi 其中i 1,2,m。求近似曲線y x 並且使得近似曲線與y f x 的偏差最小。近似曲線在點pi處的偏差 i xi y,i 1,2,m。損失計算 1.使偏差絕對值之和最小 2.使偏差絕對值最大的最小 3.使偏差平方和最小 推導 擬合多項式 計算誤差 求引數,求偏導 得到 ...
多項式曲線擬合
給定資料點pi xi,yi 其中i 1,2,m。求近似曲線y x 並且使得近似曲線與y f x 的偏差最小。近似曲線在點pi處的偏差 i xi y,i 1,2,m。損失計算 1.使偏差絕對值之和最小 2.使偏差絕對值最大的最小 3.使偏差平方和最小 推導 擬合多項式 計算誤差 求引數,求偏導 得到 ...