第一步:學你所學,不懂也得懂,最枯燥的數學公式來了
在數值分析中,拉格朗日插值法是以法國十八世紀數學家約瑟夫·拉格朗日命名的一種多項式插值方法。許多實際問題中都用函數來表示某種內在聯系或規律,而不少函數都只能通過實驗和觀測來了解。 如對實踐中的某個物理量進行觀測,在若干個不同的地方得到相應的觀測值,拉格朗日插值法可以找到一個多項式,其恰好在各個觀測的點取到觀測到的值。這樣的多項式稱為拉格朗日(插值)多項式。 數學上來說,拉格朗日插值法可以給出一個恰好穿過二維平面上若干個已知點的多項式函數。拉格朗日插值法最早被英國數學家愛德華·華林于1779年發現,不久后(1783年)由萊昂哈德·歐拉再次發現。1795年,拉格朗日在其著作《師范學校數學基礎教程》中發表了這個插值方法,從此他的名字就和這個方法聯系在一起。
第二步:構造拉格朗日插值算法函數,并使用C/C++ 語言實現
//預先定義插值節點的個數為1000個,根據控制臺輸入的個數num從而確定插值節點的個數const int N=1000;// 拉格朗日插值算法float lglr(float x[], float y[],int n,float t){float yResult=0.0;//LValue[N]存放的是每次求解的插值基函數的通項float LValue[N];//循環變量k,mint k,m;//插值基函數中的上下累乘temp1,temp2float temp1,temp2;for(k=0;k
3.增加給寫入的算法送入正弦曲線的點數到10個點,來預測此區間的其它點,發現預測出的正弦曲線已達到要求,相關度很好。
原文標題:教你在單片機上做插值算法
文章出處:【微信公眾號:嵌入式ARM】歡迎添加關注!文章轉載請注明出處。
責任編輯:haq
2.同樣是給寫入的算法送入正弦曲線3個點,來預測此區間的其它點,發現預測出的正弦曲線不太理想,相關度很差。
4.下面是使用matlab在繪制的圖像,分別是線性3點、正弦3、5、10的和原始值對比的圖像。
第四步:移植到單片機使用串口輸出測試插值效果,效果還可以哦!
第四步:進階完善,有點不甘心,使用Qt 搭了一個界面,做了一下可視化。 你別說效果還可以,Qt界面代碼 放到了gitee有興趣的來一起完善 https://gitee.com/lumengcode/my-qt/tree/master/MathTool/MathTool
插值題外話:
關于插值算法:可以繼續完善牛頓插值、三次樣條插值等,都很好玩!
-
單片機
+關注
關注
6032文章
44517瀏覽量
633050 -
插值算法
+關注
關注
0文章
7瀏覽量
2032
原文標題:教你在單片機上做插值算法
文章出處:【微信號:gh_c472c2199c88,微信公眾號:嵌入式微處理器】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論