numpy.polynomial.legendre.legint
-
numpy.polynomial.legendre.legint(c, m=1, k=[], lbnd=0, scl=1, axis=0)[source] -
Интегрирование ряда Лежандра.
Возвращает коэффициенты ряда Лежандра,
cинтегрированногоmраз отlbndвдольaxis. На каждой итерации полученный ряд умножается наsclи к нему добавляется постоянная интегрирования,k. Коэффициент масштабирования используется для линейного изменения переменной. («Покупатель будь осторожен»: обратите внимание, что в зависимости от того, что вы делаете, может потребоваться, чтобыsclбыло обратным тому, что ожидалось; для получения дополнительной информации см. раздел «Примечания» ниже.) Аргументcпредставляет собой массив коэффициентов от низшего к высшему степеням вдоль каждой оси, например, [1,2,3] представляет рядL_0 + 2*L_1 + 3*L_2, а [[1,2],[1,2]] представляет1*L_0(x)*L_0(y) + 1*L_1(x)*L_0(y) + 2*L_0(x)*L_1(y) + 2*L_1(x)*L_1(y), если ось=0 являетсяxи ось=1 являетсяy.Параметры: c : array_like
Массив коэффициентов ряда Лежандра. Если c многомерный, различные оси соответствуют различным переменным, а степень на каждой оси задается соответствующим индексом.
m : int, необязательно
Порядок интегрирования, должен быть положительным. (По умолчанию: 1)
k : {[], список, скаляр}, необязательно
Постоянная(ые) интегрирования. Значение первого интеграла в
lbndявляется первым значением в списке, значение второго интеграла вlbndявляется вторым значением и т. д. Еслиk == [](по умолчанию), все константы устанавливаются в ноль. Еслиm == 1, вместо списка можно указать единственное скалярное значение.lbnd : скаляр, необязательно
Нижняя граница интеграла. (По умолчанию: 0)
scl : скаляр, необязательно
После каждого интегрирования результат умножается на
sclперед добавлением константы интегрирования. (По умолчанию: 1)axis : int, необязательно
Ось, по которой выполняется интегрирование. (По умолчанию: 0).
Новое в версии 1.7.0.
Возвращает: S : ndarray
Массив коэффициентов ряда Лежандра интеграла.
Возможные исключения: ValueError
Если
m < 0,len(k) > m,np.isscalar(lbnd) == False, илиnp.isscalar(scl) == False.См. также
Примечания
Обратите внимание, что результат каждого интегрирования умножается на
scl. Почему это важно отметить? Предположим, что делается линейное изменение переменной
в интеграле относительно x. Тогда .. math::dx = du/a, поэтому нужно установитьsclравным
— возможно, не то, что сразу приходит в голову.Также обратите внимание, что в общем случае результат интегрирования ряда C необходимо «перепроектировать» на базис ряда C. Таким образом, как правило, результат этой функции «неинтуитивен», хотя и правильный; см. раздел «Примеры» ниже.
Примеры
>>> from numpy.polynomial import legendre as L >>> c = (1,2,3) >>> L.legint(c) array([ 0.33333333, 0.4 , 0.66666667, 0.6 ]) >>> L.legint(c, 3) array([ 1.66666667e-02, -1.78571429e-02, 4.76190476e-02, -1.73472348e-18, 1.90476190e-02, 9.52380952e-03]) >>> L.legint(c, k=3) array([ 3.33333333, 0.4 , 0.66666667, 0.6 ]) >>> L.legint(c, lbnd=-2) array([ 7.33333333, 0.4 , 0.66666667, 0.6 ]) >>> L.legint(c, scl=2) array([ 0.66666667, 0.8 , 1.33333333, 1.2 ])
© 2008–2017 NumPy Developers
Licensed under the NumPy License.
https://docs.scipy.org/doc/numpy-1.13.0/reference/generated/numpy.polynomial.legendre.legint.html