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.
См. также
Примечания
Обратите внимание, что результат каждого интегрирования умножается на
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