當前位置: 首頁>>編程示例 >>用法及示例精選 >>正文


Python SciPy signal.cspline1d_eval用法及代碼示例

本文簡要介紹 python 語言中 scipy.signal.cspline1d_eval 的用法。

用法:

scipy.signal.cspline1d_eval(cj, newx, dx=1.0, x0=0)#

在新的點集上計算三次樣條。

dx 是舊的sample-spacing,而 x0 是舊的原點。在 other-words 中,cj 表示樣條係數的 old-sample 點 (knot-points) 位於以下等距點:

oldx = x0 + j*dx j=0…N-1, with N=len(cj)

使用mirror-symmetric 邊界條件處理邊。

參數

cj ndarray

三次樣條係數

newx ndarray

新的點集。

dx 浮點數,可選

老sample-spacing,默認值為1.0。

x0 整數,可選

舊原點,默認值為 0。

返回

res ndarray

評估了三次樣條點。

例子

我們可以使用三次樣條過濾信號以減少和平滑high-frequency 噪聲:

>>> import numpy as np
>>> import matplotlib.pyplot as plt
>>> from scipy.signal import cspline1d, cspline1d_eval
>>> rng = np.random.default_rng()
>>> sig = np.repeat([0., 1., 0.], 100)
>>> sig += rng.standard_normal(len(sig))*0.05  # add noise
>>> time = np.linspace(0, len(sig))
>>> filtered = cspline1d_eval(cspline1d(sig), time)
>>> plt.plot(sig, label="signal")
>>> plt.plot(time, filtered, label="filtered")
>>> plt.legend()
>>> plt.show()
scipy-signal-cspline1d_eval-1.png

相關用法


注:本文由純淨天空篩選整理自scipy.org大神的英文原創作品 scipy.signal.cspline1d_eval。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。