Participer au site avec un Tip
Rechercher
 

Améliorations / Corrections

Vous avez des améliorations (ou des corrections) à proposer pour ce document : je vous remerçie par avance de m'en faire part, cela m'aide à améliorer le site.

Emplacement :

Description des améliorations :

Vous êtes un professionnel et vous avez besoin d'une formation ? Machine Learning
avec Scikit-Learn
Voir le programme détaillé
Classe « BSpline »

Méthode scipy.interpolate.BSpline.basis_element

Signature de la méthode basis_element

def basis_element(t, extrapolate=True) 

Description

help(BSpline.basis_element)

Return a B-spline basis element ``B(x | t[0], ..., t[k+1])``.

Parameters
----------
t : ndarray, shape (k+2,)
    internal knots
extrapolate : bool or 'periodic', optional
    whether to extrapolate beyond the base interval, ``t[0] .. t[k+1]``,
    or to return nans.
    If 'periodic', periodic extrapolation is used.
    Default is True.

Returns
-------
basis_element : callable
    A callable representing a B-spline basis element for the knot
    vector `t`.

Notes
-----
The degree of the B-spline, `k`, is inferred from the length of `t` as
``len(t)-2``. The knot vector is constructed by appending and prepending
``k+1`` elements to internal knots `t`.

Examples
--------

Construct a cubic 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

Construct a quadratic B-spline on ``[0, 1, 1, 2]``, and compare
to its explicit form:

>>> 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()



Vous êtes un professionnel et vous avez besoin d'une formation ? RAG (Retrieval-Augmented Generation)
et Fine Tuning d'un LLM
Voir le programme détaillé