NdPPoly#
- класс scipy.interpolate.NdPPoly(c, x, экстраполяция=None)[источник]#
Кусочно-тензорное произведение полиномов
Значение в точке
xp = (x', y', z', ...)вычисляется сначала нахождением индексов интервалов i такой, что:x[0][i[0]] <= x' < x[0][i[0]+1] x[1][i[1]] <= y' < x[1][i[1]+1] ...
и затем вычисление:
S = sum(c[k0-m0-1,...,kn-mn-1,i[0],...,i[n]] * (xp[0] - x[0][i[0]])**m0 * ... * (xp[n] - x[n][i[n]])**mn for m0 in range(k[0]+1) ... for mn in range(k[n]+1))
где
k[j]является степенью полинома в измерении j. Это представление является кусочно-многомерным степенным базисом.- Параметры:
- cndarray, форма (k0, …, kn, m0, …, mn, …)
Коэффициенты полинома, с порядком полинома kj и mj+1 интервалы для каждого измерения j.
- xкортеж ndim из ndarray, формы (mj+1,)
Точки разрыва полинома для каждого измерения. Они должны быть отсортированы в порядке возрастания.
- экстраполяцияbool, необязательно
Экстраполировать ли точки за пределами границ на основе первого и последнего интервалов или возвращать NaN. По умолчанию: True.
- Атрибуты:
- xкортеж ndarrays
Точки разрыва.
- cndarray
Коэффициенты полиномов.
Методы
__call__(x[, nu, extrapolate])Вычислить кусочно-полиномиальную функцию или её производную
derivative(nu)Создать новый кусочно-полиномиальный объект, представляющий производную.
antiderivative(nu)Создать новый кусочно-полиномиальный объект, представляющий первообразную.
integrate(ranges[, extrapolate])Вычислить определённый интеграл по кусочно-полиномиальной функции.
integrate_1d(a, b, axis[, extrapolate])Вычислить представление NdPPoly для одномерного определённого интеграла
construct_fast(c, x[, extrapolate])Построить кусочно-полиномиальную функцию без проверок.
Смотрите также
PPolyкусочно-полиномиальные функции в 1D
Примечания
Полиномы высокой степени в степенном базисе могут быть численно неустойчивыми.