精品国产人成在线_亚洲高清无码在线观看_国产在线视频国产永久2021_国产AV综合第一页一个的一区免费影院黑人_最近中文字幕MV高清在线视频

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

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

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

    文章

    6898

    瀏覽量

    88833
  • 函數
    +關注

    關注

    3

    文章

    4307

    瀏覽量

    62432
  • python
    +關注

    關注

    56

    文章

    4782

    瀏覽量

    84456

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

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

收藏 人收藏

    評論

    相關推薦

    如何使用Python實現PID控制

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

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

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

    Python建模算法與應用

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

    CNC系統的補運算介紹

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

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

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

    如何使用Python進行圖像識別的自動學習自動訓練?

    如何使用Python進行圖像識別的自動學習自動訓練? 使用Python進行圖像識別的自動學習和自動訓練需要掌握一些重要的概念和技術。在本文中,我們將介紹如何使用Python中的一些常用
    的頭像 發表于 01-12 16:06 ?538次閱讀

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

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

    python環境變量的配置pip

    Python環境變量的配置和使用是每個Python開發者都需要了解和掌握的基本技能之一。在本文中,我們將詳細介紹如何正確配置Python環境變量,并展示一些常見問題的解決方法。我們將從環境變量的
    的頭像 發表于 12-15 15:41 ?2359次閱讀

    傳感器數據融合算法python代碼

    的原理和應用,并給出一些使用Python編程語言實現傳感器數據融合算法的示例代碼。 首先,讓我們來了解傳感器數據融合算法的原理。傳感器數據融合算法的一個關鍵
    的頭像 發表于 12-15 10:28 ?1381次閱讀

    圖像理論研究之雙三次插值

    雙三次插值又叫雙立方,用于在圖像中“”(Interpolating)或增加“像素”(Pixel)數量/密度的一種方法。通常利用
    的頭像 發表于 12-14 14:35 ?1062次閱讀
    圖像<b class='flag-5'>插</b><b class='flag-5'>值</b>理論研究之雙三次<b class='flag-5'>插值</b>

    Python中互換X和Y的代碼

    互換變量的是一種常見的編程需求,在Python中也可以很容易實現。本文將詳細討論不同的方法,以及它們的優缺點。 首先,我們來看一種最簡單的方法 - 使用一個第三個變量來完成交換。假設我們有兩個變量
    的頭像 發表于 11-30 10:06 ?1925次閱讀

    python中如何交換兩個數的相加

    Python是一種簡單易學的高級語言,其交換兩個數的相加是一種常見的操作。交換變量的可以在許多情況下發揮作用,如算法、排序、邏輯控制等。本文將詳細介紹
    的頭像 發表于 11-29 17:29 ?620次閱讀

    python如何修改列表中的每一個數據

    Python中,我們可以使用不同的方法來修改列表中的每一個數據。 方法一:使用for循環遍歷列表并修改元素 首先,我們可以使用for循環遍歷列表中的每一個元素,并使用索引來修改對應位置的
    的頭像 發表于 11-29 17:03 ?4899次閱讀

    python調用windows命令

    Windows命令,提供一些實際的示例和代碼。 首先,我們需要了解一些基本概念。Windows命令是一種命令行界面(CLI),它允許用戶通過鍵入命令來與操作系統進行交互。Python提供了一個名為 subprocess 的內置模塊,它允許我們在
    的頭像 發表于 11-29 14:34 ?1000次閱讀

    繪制同切圓python代碼怎么運行

    繪制同切圓是一個很有趣的數學問題,可以使用Python語言進行實現。在這篇文章中,我們將探討同切圓的概念、繪制同切圓的算法Python代碼的實現。 同切圓的
    的頭像 發表于 11-28 15:55 ?1483次閱讀