当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Python SciPy BSpline.basis_element用法及代码示例


本文简要介绍 python 语言中 scipy.interpolate.BSpline.basis_element 的用法。

用法:

classmethod  BSpline.basis_element(t, extrapolate=True)#

返回 B-spline 基础元素 B(x | t[0], ..., t[k+1])

参数

t ndarray, 形状 (k+2,)

内部结

extrapolate bool 或 ‘periodic’,可选

是推断超出基本区间 t[0] .. t[k+1] 还是返回 nans。如果‘periodic’,使用周期性外推。默认为真。

返回

basis_element 可调用的

代表节点向量 t 的 B-spline 基元素的可调用对象。

注意

B-spline 的度数,k, 由长度推断t作为len(t)-2.节点向量是通过 appending 和 prepend 构造的k+1内部结的元素t.

例子

构造一个立方B-spline:

>>> import numpy as np
>>> from scipy.interpolate import BSpline
>>> b = BSpline.basis_element([0, 1, 2, 3, 4])
>>> k = b.k
>>> b.t[k:-k]
array([ 0.,  1.,  2.,  3.,  4.])
>>> k
3

[0, 1, 1, 2] 上构造一个二次 B-spline,并与其显式形式进行比较:

>>> t = [0, 1, 1, 2]
>>> b = BSpline.basis_element(t)
>>> def f(x):
...     return np.where(x < 1, x*x, (2. - x)**2)
>>> import matplotlib.pyplot as plt
>>> fig, ax = plt.subplots()
>>> x = np.linspace(0, 2, 51)
>>> ax.plot(x, b(x), 'g', lw=3)
>>> ax.plot(x, f(x), 'r', lw=8, alpha=0.4)
>>> ax.grid(True)
>>> plt.show()
scipy-interpolate-BSpline-basis_element-1.png

相关用法


注:本文由纯净天空筛选整理自scipy.org大神的英文原创作品 scipy.interpolate.BSpline.basis_element。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。