一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

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

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

Python插值算法基本的概念

云深之無跡 ? 來源:云深之無跡 ? 作者:云深之無跡 ? 2022-07-12 10:03 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

Python實現(xiàn)所有算法-二分法

Python實現(xiàn)所有算法-力系統(tǒng)是否靜態(tài)平衡

Python實現(xiàn)所有算法-力系統(tǒng)是否靜態(tài)平衡(補篇)

Python實現(xiàn)所有算法-高斯消除法

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

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

Python實現(xiàn)所有算法-矩陣的LU分解

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

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

左邊是原有的信息,右邊是通過算法生成的新數(shù)據(jù)

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

就像這樣

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

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

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

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

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

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

牛逼的插值算法來自:

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

《自然哲學(xué)的數(shù)學(xué)原理》的第三卷的引理五

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

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

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

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

計算的公式就是這樣,因為是重復(fù)同一種范式,所以程序?qū)崿F(xiàn)可以使用遞歸

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

事實上我們應(yīng)該給出一點更加規(guī)范的論證(不就是個導(dǎo)數(shù))

有了上面的定義,作用是給出每一項的系數(shù)。具體推導(dǎo)是這樣的:

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

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

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

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

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

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

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

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

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

這個圖就完美了?。。?/p>

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

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

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

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

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

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

就記幾項就行

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

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

u是啥?別著急

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

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

函數(shù)就是算這個的。

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

測試

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

下面的分母,需要求階乘,這里也準(zhǔn)備一個小函數(shù)

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

將輸入的值轉(zhuǎn)為整型,準(zhǔn)備一個list,將輸入的值輸入到空白的二維數(shù)值表。

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

就像這樣

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

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

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

最后輸入插值表

潘老師的數(shù)值分析講義是我見過相當(dāng)不錯的

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

非常多的數(shù)值算法的實現(xiàn)

原文標(biāo)題:Python實現(xiàn)所有算法-牛頓前向插值

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

審核編輯:彭靜
聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 數(shù)據(jù)
    +關(guān)注

    關(guān)注

    8

    文章

    7255

    瀏覽量

    91813
  • 函數(shù)
    +關(guān)注

    關(guān)注

    3

    文章

    4379

    瀏覽量

    64827
  • python
    +關(guān)注

    關(guān)注

    56

    文章

    4827

    瀏覽量

    86693

原文標(biāo)題:Python實現(xiàn)所有算法-牛頓前向插值

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

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點推薦

    python入門圣經(jīng)-高清電子書(建議下載)

    此資料內(nèi)容是一本針對所有層次的Python 讀者而作的Python 入門電子書。 全書分兩部分:第一部分介紹用Python 編程所必須了解的基本概念,包括matplotlib、NumP
    發(fā)表于 04-10 16:53

    基于事件相機的統(tǒng)一幀與自適應(yīng)去模糊框架(REFID)

    )的解決方案。團隊提出了一種基于事件相機的統(tǒng)一幀與自適應(yīng)去模糊框架(REFID)。該框架基于雙向遞歸網(wǎng)絡(luò),結(jié)合事件流和圖像信息,自適應(yīng)地融合來自不同時間點的信息,從而能夠在模糊的輸入幀情況下同步實現(xiàn)
    的頭像 發(fā)表于 03-14 11:48 ?828次閱讀
    基于事件相機的統(tǒng)一幀<b class='flag-5'>插</b><b class='flag-5'>值</b>與自適應(yīng)去模糊框架(REFID)

    什么是BP神經(jīng)網(wǎng)絡(luò)的反向傳播算法

    BP神經(jīng)網(wǎng)絡(luò)的反向傳播算法(Backpropagation Algorithm)是一種用于訓(xùn)練神經(jīng)網(wǎng)絡(luò)的有效方法。以下是關(guān)于BP神經(jīng)網(wǎng)絡(luò)的反向傳播算法的介紹: 一、基本概念 反向傳播算法
    的頭像 發(fā)表于 02-12 15:18 ?763次閱讀

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

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

    算法加速的概念、意義、流程和應(yīng)用

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

    請問DAC39J84內(nèi)部方式是0嗎?

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

    Teledyne Lecroy示波器算法

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

    DAC3482在字輸入模式下,F(xiàn)IFO的輸出時鐘速率為什么是DACCLK/2/因子?

    下圖是DAC3482中描述FIFO模塊的附圖,想問下這里在字輸入模式下,F(xiàn)IFO的輸出時鐘速率為什么是DACCLK/2/因子?
    發(fā)表于 12-20 16:31

    如何使用Python實現(xiàn)PID控制

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

    Python中多線程和多進程的區(qū)別

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

    詳解寄存器模型鏡像

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

    【「時間序列與機器學(xué)習(xí)」閱讀體驗】時間序列的信息提取

    模型效果與性能的過程。 時間序列的缺失填充方法有:法;回歸填充;均值/中位數(shù)/眾數(shù)填充;可以借助 Python 的 Pandas庫,通過前向填充、后向填充、線性
    發(fā)表于 08-17 21:12

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

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

    pytorch和python的關(guān)系是什么

    在當(dāng)今的人工智能領(lǐng)域,Python已經(jīng)成為了最受歡迎的編程語言之一。Python的易學(xué)易用、豐富的庫和框架以及強大的社區(qū)支持,使其成為了數(shù)據(jù)科學(xué)、機器學(xué)習(xí)和深度學(xué)習(xí)等領(lǐng)域的首選語言。而在深度學(xué)習(xí)領(lǐng)域
    的頭像 發(fā)表于 08-01 15:27 ?3266次閱讀

    Python建模算法與應(yīng)用

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