使用 python 插值到更大的一维数组
interpolate to larger 1D array using python
我有五个具有多个 length.I 的一维数组,希望所有数组的长度都与 cD1
相同。我想在数组上应用插值以具有相同的长度。
我尝试使用 linear_interp = interp1d(cD5, cD1)
,但它不能正常工作。感谢您的帮助!
from scipy.interpolate import interp1d
coeffs = wavedec(data, 'sym5', level=5)
cA5,cD5,cD4,cD3,cD2,cD1=coeffs
cD5.shape #(248,)
cD4.shape #(488,)
cD3.shape #(967,)
cD2.shape #(1926,)
cD1.shape #(3844,)
据我所知,您缺少一个 x
坐标。
尝试为您的阵列添加一个共同的 x
坐标:
import numpy as np
from scipy.interpolate import interp1d
common_length_data = []
common_x = np.linspace(0, 1, len(cD1))
for c in [cA5,cD5,cD4,cD3,cD2,cD1]:
x = np.linspace(0, 1, len(c))
f = interp1d(x, c)
common_length_data.append(f(common_x))
我有五个具有多个 length.I 的一维数组,希望所有数组的长度都与 cD1
相同。我想在数组上应用插值以具有相同的长度。
我尝试使用 linear_interp = interp1d(cD5, cD1)
,但它不能正常工作。感谢您的帮助!
from scipy.interpolate import interp1d
coeffs = wavedec(data, 'sym5', level=5)
cA5,cD5,cD4,cD3,cD2,cD1=coeffs
cD5.shape #(248,)
cD4.shape #(488,)
cD3.shape #(967,)
cD2.shape #(1926,)
cD1.shape #(3844,)
据我所知,您缺少一个 x
坐标。
尝试为您的阵列添加一个共同的 x
坐标:
import numpy as np
from scipy.interpolate import interp1d
common_length_data = []
common_x = np.linspace(0, 1, len(cD1))
for c in [cA5,cD5,cD4,cD3,cD2,cD1]:
x = np.linspace(0, 1, len(c))
f = interp1d(x, c)
common_length_data.append(f(common_x))