ฟังก์ชัน interp1d() ของแพ็กเกจ scipy.interpolate ใช้สำหรับ interpolate ฟังก์ชัน 1 มิติ รับอาร์เรย์ค่า x และ y เพื่อประมาณฟังก์ชัน y = f(x) จากนั้นใช้ interpolation หาค่าใหม่
Syntax
scipy.interpolate.interp1d(x, y)
ที่ x คืออาร์เรย์ 1 มิติค่าจริง y คืออาร์เรย์ N มิติค่าจริง ความยาวของ y ตามแกน interpolation ต้องเท่าความยาวของ x
ตัวอย่าง 1
พิจารณาตัวอย่างต่อไปนี้:
# นำเข้าไลบรารีที่จำเป็น
import matplotlib.pyplot as plt
import numpy as np
from scipy import interpolate
# ตั้งค่าขนาดรูป
plt.rcParams["figure.figsize"]=[7.00, 3.50]
plt.rcParams["figure.autolayout"]=True
# กำหนดค่า
x = np.arange(0, 10)
y = np.exp(-x/5.0)
# Input Data
plt.subplot(1,2,1)
plt.title("Input X and Y")
plt.plot(x,y)
# Interpolated Data
plt.subplot(1,2,2)
plt.title("Interpolated")
f = interpolate.interp1d(x, y)
x_new = np.arange(0, 7, 0.7)
y_new = f(x_new)
plt.plot(x_new, y_new, 's')
plt.show()
ผลลัพธ์
โปรแกรมจะสร้างกราฟสองกราฟ ข้างซ้ายข้อมูลต้นฉบับ ข้างขวาข้อมูล interpolated

ตัวอย่าง 2
ตัวอย่างเพิ่มเติม:
# นำเข้าไลบรารีที่จำเป็น import matplotlib.pyplot as plt import numpy as np from scipy import interpolate # ตั้งค่าขนาดรูป plt.rcParams["figure.figsize"]=[7.00, 3.50] plt.rcparams["figure.autolayout"]=True # กำหนดค่า x = np.arange(0, 10) y = np.exp(-x **2/9.0) # interpolation function f = interpolate.interp1d(x, y) xnew = np.arange(0, 9, 1.2) plt.plot(x, y, 'o', xnew) plt.show()
ผลลัพธ์
จะแสดงจุดข้อมูลต้นฉบับ (วงกลม) และจุด interpolated (ค่า xnew)
