那曲檬骨新材料有限公司

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

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

3天內不再提示

Python插值算法基本的概念

云深之無跡 ? 來源:云深之無跡 ? 作者:云深之無跡 ? 2022-07-12 10:03 ? 次閱讀

Python實現所有算法-二分法

Python實現所有算法-力系統是否靜態平衡

Python實現所有算法-力系統是否靜態平衡(補篇)

Python實現所有算法-高斯消除法

Python實現所有算法-牛頓-拉夫遜(拉弗森)方法

Python實現所有算法-雅可比方法(Jacobian)

Python實現所有算法-矩陣的LU分解

今天的算法是插值,細分是牛頓插值。關于插值可能大家聽到最多的就是圖像插值,比如100元的攝像頭有4K的分辨率???其實這里就是使用的插值算法,通過已經有的數據再生成一些,相當于提升了數據的量。如果我們想放大圖像,我們需要使用過采樣算法來擴展矩陣。

6d7cf9d8-0130-11ed-ba43-dac502259ad0.png

左邊是原有的信息,右邊是通過算法生成的新數據

6d9a4556-0130-11ed-ba43-dac502259ad0.png

就像這樣

在上圖中,出現的算法是最近鄰算法,也稱為近端插值,是一維或多維空中多元插值的一種簡單方法。插值是通過已知的離散數據點在一定范圍內尋找新數據點的過程或方法。最近鄰插值算法選擇最接近數據點的值,完全不考慮其他相鄰點的值,從而生成一個分段常數插值值作為數據點的值。線性的插值算法是雙線插值是二維坐標系下線性插值的擴展,用于插值二元函數。它的核心思想是在兩個方向上執行一次線性插值。

關于這里的圖像算法我不想說什么,等之后我會補上。簡單來說在數據給的少的情況下我們都可以考慮使用插值算法來生成新數據或者是改善。

注意我們處理的是離散數據:離散數據是指其數值只能用自然數或整數單位計算的數據。

離散函數:定義域是離散集合的函數稱為離散函數。其函數圖像為一系列離散的點。

在離散數據的基礎上補插連續函數,使得這條連續曲線通過全部給定的離散數據點。 插值是離散函數逼近的重要方法,利用它可通過函數在有限個點處的取值狀況,估算出函數在其他點處的近似值。

理論就這么多了(其實也沒有理論就是說下基本的概念)

牛逼的插值算法來自:

6dab61d8-0130-11ed-ba43-dac502259ad0.jpg

《自然哲學的數學原理》的第三卷的引理五

對牛頓插值來說,它最大的特點是引入了差商這個概念。差商即均差,一階差商是一階導數的近似值。對等步長(h)的離散函數f(x),其n階差商就是它的n階差分與其步長的n次冪的比值。例如n=1時,若差分取向前的或向后的,所得一階差商就是函數的導數的一階近似;若差分取中心的,則所得一階差商是導數的二階近似。

6de97360-0130-11ed-ba43-dac502259ad0.png

對一個f(x)可以構造差商表來遞推的給出差商

6e15525a-0130-11ed-ba43-dac502259ad0.png

計算的公式就是這樣,因為是重復同一種范式,所以程序實現可以使用遞歸

6e35f3d4-0130-11ed-ba43-dac502259ad0.png

事實上我們應該給出一點更加規范的論證(不就是個導數)

有了上面的定義,作用是給出每一項的系數。具體推導是這樣的:

6e6bef5c-0130-11ed-ba43-dac502259ad0.png

最后的就是我們的插值公式

6e9139ba-0130-11ed-ba43-dac502259ad0.png

為了看起來平易近人,可以寫成這樣

6e9fd8f8-0130-11ed-ba43-dac502259ad0.png

6ec6e0e2-0130-11ed-ba43-dac502259ad0.png

還有一種是等間距的插值計算,在下面的計算中間距設置為h(方向為前向差分)

6ee646bc-0130-11ed-ba43-dac502259ad0.png

6f0436d6-0130-11ed-ba43-dac502259ad0.png

這個圖就完美了!!!

6f25a1c2-0130-11ed-ba43-dac502259ad0.png

二階的前向差分后和后向差分都在這里了

牛頓插值作為一種常用的數值擬合方法,因其計算簡單,方便進行大量插值點的計算。在實驗中經常出現只能測量得到離散數據點的情況,或者只能用數值解表示某對應關系之時,可以使用牛頓插值公式,對離散點進行擬合,得到較為準確的函數解析值。

牛頓真厲害啊,幾百年前他萬萬沒有想到,一個小輩大晚上的還得研究人家隨手寫的東西。

牛頓插值算法的優點是,每一個新項的生成都不需要龐大的算力,對前一項進行計算就行,拉格朗日的算法是每一個新項都需要對基函數完全計算,耗費算力。最后我們的泰勒公式其實就是對牛頓的插值算法進行了改進:

6f8294f4-0130-11ed-ba43-dac502259ad0.png

就記幾項就行

對了,插值是針對自變量的任何中間值估計函數值的技術,而計算給定范圍之外的函數值的過程稱為外插。

6f98f6cc-0130-11ed-ba43-dac502259ad0.png

u是啥?別著急

6fb521a8-0130-11ed-ba43-dac502259ad0.png

這個公式對于在給定值集的開頭附近插值 f(x) 的值特別有用。h 稱為差值區間,u = ( x – a ) / h,這里 a 是第一項。

函數就是算這個的。

6fd1e7f2-0130-11ed-ba43-dac502259ad0.png

測試

6fe93f38-0130-11ed-ba43-dac502259ad0.png

下面的分母,需要求階乘,這里也準備一個小函數

70029456-0130-11ed-ba43-dac502259ad0.png

將輸入的值轉為整型,準備一個list,將輸入的值輸入到空白的二維數值表。

701da2e6-0130-11ed-ba43-dac502259ad0.png

就像這樣

7049295c-0130-11ed-ba43-dac502259ad0.png

這個沒有什么好說的,就是將輸入的值解到該有的位置,而且計算差分值。

706e09ac-0130-11ed-ba43-dac502259ad0.png

最后輸入插值表

潘老師的數值分析講義是我見過相當不錯的

7093a5ae-0130-11ed-ba43-dac502259ad0.png

如圖

?

70b7a72e-0130-11ed-ba43-dac502259ad0.png

嘻嘻,以前還問過老師的參考資料

https://math.ecnu.edu.cn/~jypan/Teaching/NA/index.html

70dbfe80-0130-11ed-ba43-dac502259ad0.png

講義一覽

https://www.zhihu.com/question/26692289

https://www.geeksforgeeks.org/newton-forward-backward-interpolation/

7106fb30-0130-11ed-ba43-dac502259ad0.png

非常多的數值算法的實現

原文標題:Python實現所有算法-牛頓前向插值

文章出處:【微信公眾號:云深之無跡】歡迎添加關注!文章轉載請注明出處。

審核編輯:彭靜
聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 數據
    +關注

    關注

    8

    文章

    7139

    瀏覽量

    89578
  • 函數
    +關注

    關注

    3

    文章

    4346

    瀏覽量

    62972
  • python
    +關注

    關注

    56

    文章

    4807

    瀏覽量

    85038

原文標題:Python實現所有算法-牛頓前向插值

文章出處:【微信號:TT1827652464,微信公眾號:云深之無跡】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    ZMC600E運動控制器直線和圓弧算法詳解

    導讀想深入了解ZMC600E運動控制器的算法嗎?空間直線插補適用于精確定位,圓弧補提供平滑曲線過渡。合理應用這些算法,能提升多軸協同能力,保障工作精度與可靠性,讓工業自動化更高效
    的頭像 發表于 01-20 11:39 ?120次閱讀
    ZMC600E運動控制器直線和圓弧<b class='flag-5'>插</b>補<b class='flag-5'>算法</b>詳解

    算法加速的概念、意義、流程和應用

    本文介紹算法加速的概念、意義、流程和應用 一、什么是算法加速 面向“最耗時”的部分做專用化處理: 在軟件運行時,總有一些特定算法會消耗大量 CPU 資源,比如加密解密、圖像處理或神經網
    的頭像 發表于 01-15 09:34 ?143次閱讀

    請問DAC39J84內部方式是0嗎?

    請問DAC39J84內部方式是0嗎? 請問2x 4x 8x 16x 過程分別是怎樣
    發表于 01-03 06:41

    Teledyne Lecroy示波器算法

    示波器是通過內部硬件ADC對模擬信號采樣來獲取離散的數據點,然而這些離散的數據點有時難以完整呈現出原始模擬信號的全貌。軟件算法的意義就在于,它能夠依據特定的數學算法,在已采集的數據
    的頭像 發表于 12-24 16:11 ?403次閱讀

    如何使用Python實現PID控制

    PID控制(比例-積分-微分控制)是一種常見的反饋控制算法,廣泛應用于工業控制系統中。在Python中實現PID控制,我們可以遵循以下步驟: 1. 理解PID控制原理 PID控制器有三個主要參數
    的頭像 發表于 11-14 09:09 ?685次閱讀

    Python中多線程和多進程的區別

    Python作為一種高級編程語言,提供了多種并發編程的方式,其中多線程與多進程是最常見的兩種方式之一。在本文中,我們將探討Python中多線程與多進程的概念、區別以及如何使用線程池與進程池來提高并發執行效率。
    的頭像 發表于 10-23 11:48 ?494次閱讀
    <b class='flag-5'>Python</b>中多線程和多進程的區別

    詳解寄存器模型鏡像

    DUT的配置寄存器的是實際,reg_model有鏡像、期望概念
    的頭像 發表于 10-23 09:43 ?385次閱讀
    詳解寄存器模型鏡像<b class='flag-5'>值</b>

    DAC39J84使用模式遇到的疑問求解

    我在使用DAC39J84這款芯片時,目前使用模式,使用8411模式,外部pll時鐘輸入2.4G;遇到的問題是在2模式下,配置芯片是有DAC輸出信號的,但在是用4
    發表于 08-14 08:28

    Python建模算法與應用

    上成為理想的腳本語言,特別適用于快速的應用程序開發。本文將詳細介紹Python在建模算法中的應用,包括常見的建模算法Python在建模中的優勢、常用庫以及實際案例。
    的頭像 發表于 07-24 10:41 ?659次閱讀

    使用Python進行自然語言處理

    在探討使用Python進行自然語言處理(NLP)的廣闊領域時,我們首先需要理解NLP的基本概念、其重要性、Python在NLP中的優勢,以及如何通過Python實現一些基礎的NLP任務
    的頭像 發表于 07-04 14:40 ?499次閱讀

    如何提高BP神經網絡算法的R2

    越接近1,表示模型的預測效果越好。當BP神經網絡算法的R2較小時,說明模型的預測效果不理想,需要進行相應的優化和調整。 數據預處理 數據預處理是提高BP神經網絡算法R2的關鍵步驟之
    的頭像 發表于 07-03 09:55 ?1242次閱讀

    CNC系統的補運算介紹

    程序,通過計算機對刀具運動軌跡進行計算和控制,以實現高精度、高效率的加工過程。補運算是數控系統的核心功能之一,它直接影響到加工精度、加工效率和加工質量。 二、CNC系統補運算的原理
    的頭像 發表于 07-01 11:21 ?1190次閱讀

    補在數控技術中的具體作用是什么

    補是數控技術中的一種重要功能,它在數控機床的加工過程中發揮著關鍵作用。本文將詳細介紹補的概念、原理、類型、應用以及發展趨勢。 1. 引言 數控技術是現代制造業的核心技術之一,它通過計算機控制機床
    的頭像 發表于 07-01 11:16 ?3059次閱讀

    中間繼電器的動作與釋放概念、作用、調節方法及應用

    ,中間繼電器的動作和釋放是可以調節的,以滿足不同應用場景的需求。 一、中間繼電器的基本概念 1.1 中間繼電器的定義 中間繼電器是一種電氣開關設備,通常用于控制電路中。它由輸入電路、輸出電路和觸點組成,當輸入電
    的頭像 發表于 06-24 14:25 ?5033次閱讀

    如何在labview FPGA端實現二維的功能?

    例如,現在有X,C,W三個,每一組(X.C)對應一個W,我擁有幾組(X,C)和W的對應關系(即具體數值),我要根據未知的一組(X,C)來通過值得到W。其中X和C沒有對應關系,請
    發表于 05-15 14:59
    优博娱乐网| 娱乐城代理| 百家乐扎金花斗地主| 玩百家乐新太阳城| 百家乐平注法攻略| 威尼斯人娱乐城安全吗| bet365金融| 肇东市| 百家乐官网赌场现金网平台排名| 百家乐官网备用网址| 百家乐扑克筹码| 在线百家乐博彩网| 战神百家乐的玩法技巧和规则| 亿酷棋牌世界| 百家乐官网是哪个国家| 鼎龙百家乐官网的玩法技巧和规则| 百家乐轮盘怎么玩| 威尼斯人娱乐城游戏| 足球网| 百家乐官网筹码价格| 百家乐稳赚打法| 威尼斯人娱乐骰宝| 网上现金博彩网| 百家乐官网凯时娱乐平台| 百家乐平的概率| 博亿娱乐| 什么叫百家乐官网的玩法技巧和规则| 百家乐赌场群| 赌球心得| 嘉禾百家乐官网的玩法技巧和规则| 国美百家乐的玩法技巧和规则| 时时博娱乐城| 荷规则百家乐官网的玩法技巧和规则| 百家乐强对弱的对打法| 利澳娱乐城| 百家乐官网游戏什么时间容易出对| 皇家百家乐的玩法技巧和规则| 亲朋棋牌官方下载| 迪威百家乐官网娱乐场| 嘉禾百家乐的玩法技巧和规则| 望江县|