第一步:學(xué)你所學(xué),不懂也得懂,最枯燥的數(shù)學(xué)公式來(lái)了
在數(shù)值分析中,拉格朗日插值法是以法國(guó)十八世紀(jì)數(shù)學(xué)家約瑟夫·拉格朗日命名的一種多項(xiàng)式插值方法。許多實(shí)際問(wèn)題中都用函數(shù)來(lái)表示某種內(nèi)在聯(lián)系或規(guī)律,而不少函數(shù)都只能通過(guò)實(shí)驗(yàn)和觀測(cè)來(lái)了解。 如對(duì)實(shí)踐中的某個(gè)物理量進(jìn)行觀測(cè),在若干個(gè)不同的地方得到相應(yīng)的觀測(cè)值,拉格朗日插值法可以找到一個(gè)多項(xiàng)式,其恰好在各個(gè)觀測(cè)的點(diǎn)取到觀測(cè)到的值。這樣的多項(xiàng)式稱(chēng)為拉格朗日(插值)多項(xiàng)式。 數(shù)學(xué)上來(lái)說(shuō),拉格朗日插值法可以給出一個(gè)恰好穿過(guò)二維平面上若干個(gè)已知點(diǎn)的多項(xiàng)式函數(shù)。拉格朗日插值法最早被英國(guó)數(shù)學(xué)家愛(ài)德華·華林于1779年發(fā)現(xiàn),不久后(1783年)由萊昂哈德·歐拉再次發(fā)現(xiàn)。1795年,拉格朗日在其著作《師范學(xué)校數(shù)學(xué)基礎(chǔ)教程》中發(fā)表了這個(gè)插值方法,從此他的名字就和這個(gè)方法聯(lián)系在一起。

第二步:構(gòu)造拉格朗日插值算法函數(shù),并使用C/C++ 語(yǔ)言實(shí)現(xiàn)

//預(yù)先定義插值節(jié)點(diǎn)的個(gè)數(shù)為1000個(gè),根據(jù)控制臺(tái)輸入的個(gè)數(shù)num從而確定插值節(jié)點(diǎn)的個(gè)數(shù)const int N=1000;// 拉格朗日插值算法float lglr(float x[], float y[],int n,float t){float yResult=0.0;//LValue[N]存放的是每次求解的插值基函數(shù)的通項(xiàng)float LValue[N];//循環(huán)變量k,mint k,m;//插值基函數(shù)中的上下累乘temp1,temp2float temp1,temp2;for(k=0;k
3.增加給寫(xiě)入的算法送入正弦曲線的點(diǎn)數(shù)到10個(gè)點(diǎn),來(lái)預(yù)測(cè)此區(qū)間的其它點(diǎn),發(fā)現(xiàn)預(yù)測(cè)出的正弦曲線已達(dá)到要求,相關(guān)度很好。
原文標(biāo)題:教你在單片機(jī)上做插值算法
文章出處:【微信公眾號(hào):嵌入式ARM】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
責(zé)任編輯:haq
2.同樣是給寫(xiě)入的算法送入正弦曲線3個(gè)點(diǎn),來(lái)預(yù)測(cè)此區(qū)間的其它點(diǎn),發(fā)現(xiàn)預(yù)測(cè)出的正弦曲線不太理想,相關(guān)度很差。


4.下面是使用matlab在繪制的圖像,分別是線性3點(diǎn)、正弦3、5、10的和原始值對(duì)比的圖像。 
第四步:移植到單片機(jī)使用串口輸出測(cè)試插值效果,效果還可以哦!
第四步:進(jìn)階完善,有點(diǎn)不甘心,使用Qt 搭了一個(gè)界面,做了一下可視化。 你別說(shuō)效果還可以,Qt界面代碼 放到了gitee有興趣的來(lái)一起完善 https://gitee.com/lumengcode/my-qt/tree/master/MathTool/MathTool
插值題外話:
關(guān)于插值算法:可以繼續(xù)完善牛頓插值、三次樣條插值等,都很好玩!
-
單片機(jī)
+關(guān)注
關(guān)注
6076文章
45501瀏覽量
670637 -
插值算法
+關(guān)注
關(guān)注
0文章
7瀏覽量
2149
原文標(biāo)題:教你在單片機(jī)上做插值算法
文章出處:【微信號(hào):gh_c472c2199c88,微信公眾號(hào):嵌入式微處理器】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
單片機(jī)上常用的10個(gè)濾波算法分享
一文說(shuō)透了如何實(shí)現(xiàn)單片機(jī)的多任務(wù)并發(fā)!
單片機(jī)的入門(mén)準(zhǔn)備
電機(jī)控制是不是就綁死在單片機(jī)上了
單片機(jī)程序的執(zhí)行
單片機(jī)的算法
為什么單片機(jī)還在用C語(yǔ)言編程?
用于單片機(jī)幾種C語(yǔ)言算法
請(qǐng)問(wèn)有辦法在嵌入式單片機(jī)上實(shí)現(xiàn)對(duì)片外Flash的數(shù)據(jù)增刪功能嗎?
單片機(jī)用什么封裝
單片機(jī)怎么燒程序
STM32單片機(jī)片上數(shù)字濾波器操作文檔 快速入門(mén)數(shù)字濾波器在單片機(jī)上的實(shí)現(xiàn)
如何在單片機(jī)上做插值算法?
評(píng)論