{ } Raw JSON

bundles / scipy latest / scipy / interpolate / _polyint / krogh_interpolate

function

scipy.interpolate._polyint:krogh_interpolate

source: /scipy/interpolate/_polyint.py :396

Signature

def   krogh_interpolate ( xi yi x der = 0 axis = 0 )

Summary

Convenience function for Krogh interpolation.

Extended Summary

See KroghInterpolator for more details.

Parameters

xi : array_like

Interpolation points (known x-coordinates).

yi : array_like

Known y-coordinates, of shape (xi.size, R). Interpreted as vectors of length R, or scalars if R=1.

x : array_like

Point or points at which to evaluate the derivatives.

der : int or list or None, optional

How many derivatives to evaluate, or None for all potentially nonzero derivatives (that is, a number equal to the number of points), or a list of derivatives to evaluate. This number includes the function value as the '0th' derivative.

axis : int, optional

Axis in the yi array corresponding to the x-coordinate values.

Returns

d : ndarray

If the interpolator's values are R-D then the returned array will be the number of derivatives by N by R. If x is a scalar, the middle dimension will be dropped; if the yi are scalars then the last dimension will be dropped.

Notes

Construction of the interpolating polynomial is a relatively expensive process. If you want to evaluate it repeatedly consider using the class KroghInterpolator (which is what this function uses).

Examples

We can interpolate 2D observed data using Krogh interpolation:
import numpy as np
import matplotlib.pyplot as plt
from scipy.interpolate import krogh_interpolate
x_observed = np.linspace(0.0, 10.0, 11)
y_observed = np.sin(x_observed)
x = np.linspace(min(x_observed), max(x_observed), num=100)
y = krogh_interpolate(x_observed, y_observed, x)
plt.plot(x_observed, y_observed, "o", label="observation")
plt.plot(x, y, label="krogh interpolation")
plt.legend()
plt.show()
fig-637e4c5055f55cd0.png

See also

KroghInterpolator

Krogh interpolator

Aliases

  • scipy.interpolate.krogh_interpolate