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


Python SciPy interpolate.insert用法及代碼示例


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

用法:

scipy.interpolate.insert(x, tck, m=1, per=0)#

將結插入B-spline。

給定 B-spline 表示的節點和係數,創建一個新的 B-spline,在點 x 處插入 m 次節點。這是 FITPACK 的 FORTRAN 例程插入的包裝器。

參數

x (u) array_like

插入新結的一維點。如果tck從返回splprep, 那麽參數值, u 應該被給出。

tck BSpline 實例或元組

如果是元組,那麽它應該是一個元組 (t,c,k),其中包含節點向量、B-spline 係數和樣條曲線的度數。

m 整數,可選

插入給定結的次數(其多重性)。默認值為 1。

per 整數,可選

如果非零,則輸入樣條被認為是周期性的。

返回

BSpline 實例或元組

一個新的B-spline,具有節 t、係數 c 和度 k。t(k+1) <= x <= t(n-k),其中 k 是樣條的度數。如果是周期樣條(per != 0) 必須至少有 k 個內部結 t(j) 滿足t(k+1)<t(j)<=x或至少 k 個內部結 t(j) 滿足x<=t(j)<t(n-k).如果輸入參數返回一個元組tck是一個元組,否則構造並返回一個 BSpline 對象。

注意

基於 [1] 和 [2] 中的算法。

不建議直接操作tck-tuples。在新代碼中,更喜歡使用 BSpline 對象。

參考

[1]

W. Boehm,“在b-spline 曲線中插入新結。”,計算機輔助設計,12,p.199-201,1980。

[2]

P. Dierckx,“用樣條進行曲線和曲麵擬合,數值分析專著”,牛津大學出版社,1993 年。

例子

您可以將結插入B-spline。

>>> from scipy.interpolate import splrep, insert
>>> import numpy as np
>>> x = np.linspace(0, 10, 5)
>>> y = np.sin(x)
>>> tck = splrep(x, y)
>>> tck[0]
array([ 0.,  0.,  0.,  0.,  5., 10., 10., 10., 10.])

插入一個結:

>>> tck_inserted = insert(3, tck)
>>> tck_inserted[0]
array([ 0.,  0.,  0.,  0.,  3.,  5., 10., 10., 10., 10.])

插入了一些結:

>>> tck_inserted2 = insert(8, tck, m=3)
>>> tck_inserted2[0]
array([ 0.,  0.,  0.,  0.,  5.,  8.,  8.,  8., 10., 10., 10., 10.])

相關用法


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