RM新时代网站-首页

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

如何在單片機上做插值算法?

Q4MP_gh_c472c21 ? 來源:21ic論壇 ? 作者:一路向北lm ? 2021-01-26 10:14 ? 次閱讀

第一步:學你所學,不懂也得懂,最枯燥的數(shù)學公式來了

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

b6863858-5f63-11eb-8b86-12bb97331649.png



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

b6d1732c-5f63-11eb-8b86-12bb97331649.png

//預先定義插值節(jié)點的個數(shù)為1000個,根據控制臺輸入的個數(shù)num從而確定插值節(jié)點的個數(shù)const int N=1000;// 拉格朗日插值算法float lglr(float x[], float y[],int n,float t){float yResult=0.0;//LValue[N]存放的是每次求解的插值基函數(shù)的通項float LValue[N];//循環(huán)變量k,mint k,m;//插值基函數(shù)中的上下累乘temp1,temp2float temp1,temp2;for(k=0;k

b7335614-5f63-11eb-8b86-12bb97331649.png


2.同樣是給寫入的算法送入正弦曲線3個點,來預測此區(qū)間的其它點,發(fā)現(xiàn)預測出的正弦曲線不太理想,相關度很差。

b7882ec8-5f63-11eb-8b86-12bb97331649.png

3.增加給寫入的算法送入正弦曲線的點數(shù)到10個點,來預測此區(qū)間的其它點,發(fā)現(xiàn)預測出的正弦曲線已達到要求,相關度很好。

b7d45302-5f63-11eb-8b86-12bb97331649.png


4.下面是使用matlab在繪制的圖像,分別是線性3點、正弦3、5、10的和原始值對比的圖像。

b84918b8-5f63-11eb-8b86-12bb97331649.png



第四步:移植到單片機使用串口輸出測試插值效果,效果還可以哦!

b89679aa-5f63-11eb-8b86-12bb97331649.png



第四步:進階完善,有點不甘心,使用Qt 搭了一個界面,做了一下可視化。 你別說效果還可以,Qt界面代碼 放到了gitee有興趣的來一起完善 https://gitee.com/lumengcode/my-qt/tree/master/MathTool/MathTool



插值題外話:

關于插值算法:可以繼續(xù)完善牛頓插值、三次樣條插值等,都很好玩!

原文標題:教你在單片機上做插值算法

文章出處:【微信公眾號:嵌入式ARM】歡迎添加關注!文章轉載請注明出處。

責任編輯:haq

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 單片機
    +關注

    關注

    6035

    文章

    44554

    瀏覽量

    634634
  • 插值算法
    +關注

    關注

    0

    文章

    7

    瀏覽量

    2034

原文標題:教你在單片機上做插值算法

文章出處:【微信號:gh_c472c2199c88,微信公眾號:嵌入式微處理器】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    請問TPA3112D1的datasheet上的control system要連在單片機上嗎?

    請問TPA3112D1的datasheet上的control system 要連在單片機上嗎?AVCC是連在單片機上的某個引腳嗎?PVCC是連接電源嗎?附件是datasheet上給的參考電路圖。
    發(fā)表于 10-31 08:32

    TAS5711用GDE生成的EQ cfg配置文件怎么加載到單片機上?

    TAS5711 的用GDE 生成的EQcfg配置文件怎么加載到單片機上。
    發(fā)表于 10-25 13:48

    基于51單片機的智能防火GSM上報仿真

    設定的報警時,蜂鳴器響,相應的指示燈亮;當測得的溫度和煙霧同時超過報警時,電機轉動,表示滅火; (4)報警時,利用GSM模塊(仿真中無GSM模塊,用串口模擬)將測得的溫度與煙霧
    的頭像 發(fā)表于 10-21 11:48 ?213次閱讀
    基于51<b class='flag-5'>單片機</b>的智能防火GSM上報仿真

    單片機燒錄程序的線比單片機上的少還能燒錄嗎

    單片機燒錄原理 單片機燒錄是指將編寫好的程序代碼通過一定的方式傳輸?shù)?b class='flag-5'>單片機的存儲器中,使其能夠按照程序的指令運行。這個過程通常需要使用燒錄器或者編程器等設備,通過一定的接口與單片機進行
    的頭像 發(fā)表于 09-02 09:54 ?480次閱讀

    單片機上位機

    想學習手機控制單片機界面的設計方法,但是不知道用學哪個語言比較方便,有好的書籍推薦下
    發(fā)表于 08-23 07:51

    一個暑假如何學習單片機

    一個暑假是學習和掌握單片機基礎知識的良好時機。以下是一個關于如何在暑假期間學習單片機的建議計劃
    的頭像 發(fā)表于 07-03 09:19 ?514次閱讀
    一個暑假如何學習<b class='flag-5'>單片機</b>

    單片機上位機軟件用什么開發(fā)

    在開發(fā)單片機上位機軟件時,選擇合適的開發(fā)工具和編程語言至關重要。本文將詳細介紹單片機上位機軟件開發(fā)的各個方面,包括開發(fā)環(huán)境、編程語言、界面設計、通信協(xié)議、調試與測試等。 1. 開發(fā)環(huán)境選擇 開發(fā)單片機上
    的頭像 發(fā)表于 06-07 09:17 ?1332次閱讀

    何在stvd中添加被人的庫使其編譯通過,正常調用?

    現(xiàn)有庫文件為“sm8”格式,請問一下,如何在stvd中添加被人的庫使其編譯通過,正常調用???? 庫文件是使用COSMIC_C V4.28編譯,想使用在STM8S105K6t6c單片機上
    發(fā)表于 05-17 07:05

    何在labview FPGA端實現(xiàn)二維的功能?

    例如,現(xiàn)在有X,C,W三個,每一組(X.C)對應一個W,我擁有幾組(X,C)和W的對應關系(即具體數(shù)值),我要根據未知的一組(X,C)來通過值得到W。其中X和C沒有對應關系,請
    發(fā)表于 05-15 14:59

    請問stm8單片機上電后PC的變化是怎樣的?

    請問一下stm8單片機上電后,PC的變化是怎樣的?
    發(fā)表于 05-15 08:04

    關于單片機多路AD檢測之間的干擾問題求解

    )對電路中的兩個點電壓的AD檢測(采樣?)這兩個點電壓相差很大(不超過單片機測量的額定)。這個單片機采集的兩個結果會不會有干擾影響?
    發(fā)表于 05-10 08:27

    51單片機流水燈制作

    ?流水燈是學習51單片機的一個基本項目,是我們對單片機IO口輸出認識的基本項目。當然學會了花樣流水燈也很好玩。 下面就分享一種51單片機流水燈制作的方法。 一、流水燈原理圖 二、相關知識 1
    的頭像 發(fā)表于 02-26 10:06 ?1609次閱讀
    51<b class='flag-5'>單片機</b>流水燈制作

    單片機上用malloc()是個坑,有隱患?

    單片機研發(fā)前幾年,一直沒用過動態(tài)內存分配的功能,但是如果想成為軟件架構設計師,這是繞不過的一道坎。
    的頭像 發(fā)表于 02-22 15:53 ?2100次閱讀
    <b class='flag-5'>單片機上</b>用malloc()是個坑,有隱患?

    單片機最小系統(tǒng)包含哪幾部分 單片機最小系統(tǒng)的作用

    系列等。 時鐘電路:單片機需要一個穩(wěn)定的時鐘信號來進行計時和操作,通常使用諧振電路或晶體振蕩器來提供時鐘信號。 復位電路:單片機上電初期,復位電路能夠確保單片機處于一個可控的初始狀態(tài),避免系統(tǒng)啟動時出現(xiàn)異常。復位電路通
    的頭像 發(fā)表于 01-24 10:40 ?1.5w次閱讀

    什么是線性插值?一維線性插值和雙線性插值在BMS開發(fā)中的應用

    線性插值法(linear interpolation),是指使用連接兩個已知量的直線來確定在這兩個已知量之間的一個未知量的的方法。
    的頭像 發(fā)表于 12-24 10:44 ?1w次閱讀
    什么是線性<b class='flag-5'>插值</b>?一維線性<b class='flag-5'>插值</b>和雙線性<b class='flag-5'>插值</b>在BMS開發(fā)中的應用
    RM新时代网站-首页