Spec-Zone.ru › NumPy 2.0

numpy.polynomial.legendre.legint

polynomial.legendre.legint(c, m=1, k=[], lbnd=0, scl=1, axis=0)[source]

Интегрирование ряда Лежандра.

Возвращает коэффициенты ряда Лежандра, полученные после интегрирования c раз от 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.

Параметры:
carray_like

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

mint, необязательно

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

k{[], список, скаляр}, необязательно

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

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

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

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

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

axisint, необязательно

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

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

Возвращает:
Sndarray

Массив коэффициентов ряда Лежандра интеграла.

Возбуждает:
ValueError

Если m < 0, len(k) > m, np.ndim(lbnd) != 0, или np.ndim(scl) != 0.

См. также

legder

Примечания

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

Также обратите внимание, что, как правило, результат интегрирования ряда 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       ]) # may vary
>>> L.legint(c, 3)
array([  1.66666667e-02,  -1.78571429e-02,   4.76190476e-02, # may vary
         -1.73472348e-18,   1.90476190e-02,   9.52380952e-03])
>>> L.legint(c, k=3)
 array([ 3.33333333,  0.4       ,  0.66666667,  0.6       ]) # may vary
>>> L.legint(c, lbnd=-2)
array([ 7.33333333,  0.4       ,  0.66666667,  0.6       ]) # may vary
>>> L.legint(c, scl=2)
array([ 0.66666667,  0.8       ,  1.33333333,  1.2       ]) # may vary

© 2005–2024 NumPy Developers
Licensed under the 3-clause BSD License.
https://numpy.org/doc/2.0/reference/generated/numpy.polynomial.legendre.legint.html

Spec-Zone.ru

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