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), если axis=0 —x, а axis=1 —y.Параметры: -
c : array_like -
Массив коэффициентов ряда Лежандра. Если c многомерный, разные оси соответствуют разным переменным, а степень на каждой оси задается соответствующим индексом.
-
m : int, optional -
Порядок интегрирования, должен быть положительным. (По умолчанию: 1)
-
k : {[], list, scalar}, optional -
Постоянная(ые) интегрирования. Значение первого интеграла в
lbnd— это первое значение в списке, значение второго интеграла вlbnd— второе значение и т.д. Еслиk == [](по умолчанию), все константы устанавливаются в ноль. Еслиm == 1, вместо списка может быть задано одно скалярное значение. -
lbnd : scalar, optional -
Нижняя граница интеграла. (По умолчанию: 0)
-
scl : scalar, optional -
После каждого интегрирования результат умножается на
sclперед добавлением постоянной интегрирования. (По умолчанию: 1) -
axis : int, optional -
Ось, по которой выполняется интегрирование. (По умолчанию: 0).
Введено в версии 1.7.0.
Возвращает: -
S : ndarray -
Массив коэффициентов ряда Лежандра интеграла.
Возможные исключения: - ValueError
-
Если
m < 0,len(k) > m,np.ndim(lbnd) != 0, илиnp.ndim(scl) != 0.
См. также
Примечания
Обратите внимание, что результат каждого интегрирования умножается на
scl. Почему это важно? Предположим, что выполняется линейное изменение переменнойв интеграле относительно
x. Тогда, поэтому необходимо установить
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 ]) -
© 2005–2019 NumPy Developers
Licensed under the 3-clause BSD License.
https://docs.scipy.org/doc/numpy-1.15.4/reference/generated/numpy.polynomial.legendre.legint.html