Spec-Zone.ru › NumPy 1.11

numpy.polynomial.chebyshev.chebint

numpy.polynomial.chebyshev.chebint(c, m=1, k=[], lbnd=0, scl=1, axis=0) [source]

Интегрирование ряда Чебышева.

Возвращает коэффициенты ряда Чебышева c интегрированного m раз от lbnd по axis. На каждой итерации результирующий ряд умножается на scl и добавляется постоянная интегрирования, k. Множитель масштабирования используется при линейной замене переменных. («Будьте осторожны»: обратите внимание, что в зависимости от того, что вы делаете, вам может понадобиться scl в обратном соотношении от ожидаемого; для получения дополнительной информации см. раздел «Примечания» ниже.) Аргумент c представляет собой массив коэффициентов от низшей до высшей степени вдоль каждой оси, например, [1, 2, 3] представляет ряд T_0 + 2*T_1 + 3*T_2, а [[1, 2], [1, 2]] представляет 1*T_0(x)*T_0(y) + 1*T_1(x)*T_0(y) + 2*T_0(x)*T_1(y) + 2*T_1(x)*T_1(y), если ось axis=0 является x, а ось axis=1 является y.

Параметры:

c : array_like

Массив коэффициентов ряда Чебышева. Если c многомерный, различные оси соответствуют различным переменным, степень на каждой оси задается соответствующим индексом.

m : int, необязательно

Порядок интегрирования, должен быть положительным. (По умолчанию: 1)

k : {[], list, scalar}, необязательно

Постоянные интегрирования. Значение первого интеграла в нуле является первым значением в списке, значение второго интеграла в нуле — вторым значением и т. д. Если k == [] (по умолчанию), все константы равны нулю. Если m == 1, вместо списка можно указать одну скалярную величину.

lbnd : скаляр, необязательно

Нижняя граница интеграла. (По умолчанию: 0)

scl : скаляр, необязательно

После каждого интегрирования результат умножается на scl перед добавлением постоянной интегрирования. (По умолчанию: 1)

axis : int, необязательно

Ось, по которой выполняется интегрирование. (По умолчанию: 0).

Введено в версии 1.7.0.

Возвращает:

S : ndarray

Коэффициенты ряда C-серии интеграла.

Исключения:

ValueError

Если m < 1, len(k) > m, np.isscalar(lbnd) == False, или np.isscalar(scl) == False.

См. также

chebder

Примечания

Обратите внимание, что результат каждого интегрирования умножается на scl. Почему это важно отметить? Допустим, вы выполняете линейную замену переменной u = ax + b в интеграле относительно x. Тогда .. math::dx = du/a, поэтому вам нужно установить scl равным 1/a- возможно, не то, о чем вы первоначально думали.

Также обратите внимание, что в общем случае результат интегрирования ряда C-серии необходимо «перепроектировать» в базис C-серии. Таким образом, как правило, результат этой функции «неинтуитивен», хотя и правильный; см. раздел «Примеры» ниже.

Примеры

>>> from numpy.polynomial import chebyshev as C
>>> c = (1,2,3)
>>> C.chebint(c)
array([ 0.5, -0.5,  0.5,  0.5])
>>> C.chebint(c,3)
array([ 0.03125   , -0.1875    ,  0.04166667, -0.05208333,  0.01041667,
        0.00625   ])
>>> C.chebint(c, k=3)
array([ 3.5, -0.5,  0.5,  0.5])
>>> C.chebint(c,lbnd=-2)
array([ 8.5, -0.5,  0.5,  0.5])
>>> C.chebint(c,scl=-2)
array([-1.,  1., -1., -1.])

© 2008–2016 NumPy Developers
Licensed under the NumPy License.
https://docs.scipy.org/doc/numpy-1.11.0/reference/generated/numpy.polynomial.chebyshev.chebint.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API