插值法Interpolate

      在〈插值法Interpolate〉中尚無留言

熟記

interp1d(x, y):產生線性插值方程式
interp1d(x, y, kind='cubic'):取得三次插值法函數

繪製圓點

底下的代碼, 先產生0~10之間10個數, 再用sin產生正弦波10個點, 然後使用亂數加入雜訊噪音, 最後將這10個點繪製在圖表上.

plt.plot()第一參數為x軸, 第二參數為y軸的值, 第三參數”bo” 解說如下
第一字元 : b 藍色, g 綠色, r 紅色, y黃色
第二字元 : o 圓點, s 方塊, ^ 三角型

import numpy as np
import pylab as plt

time = np.linspace(0, 10, 10)
noise = (np.random.random(10)*2 - 1) * 0.1
value = np.sin(2 * np.pi * time) + noise
plt.plot(time, value, 'b^', ms=6, label='real value')

matplotlib_2

線性插值(Interpolate [ɪnˋtɝpə͵let])

當我們在表現資料時,常常會有需要比實際量測點上的值更細密的情況,或者是有需要在範圍外預測其值。比方說天氣圖的繪製,不論是氣壓或是雨量,都不可能做到處處都有測量站,又例如我們關心一天之中溫度隨時間的變化,但是實際上記錄氣溫的動作可能只是每小時一次,則我們要作一個連續的圖時,就會用到插值法。

數學的數值分析領域中,內插或稱插值(interpolation)是一種通過已知的、離散的數據點,在範圍內推求新數據點的方法. 通過採樣或實驗取得的數據點是有限的。若希望在有限的數據中獲得一個連續的函數(也就是曲線),則可使用插值法。插值法當然會有誤差,但其效能遠大於精度的損失。

繼上面的代碼, 再加入如下, 即可繪制更細的點或線

🔒 底下內容僅限會員閱讀。

立即登入

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *