numpy.polynomial.legendre.legint
- 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.- Parameters
-
- carray_like
-
Массив коэффициентов ряда Лежандра. Если c многомерный, различные оси соответствуют различным переменным, а степень на каждой оси задаётся соответствующим индексом.
- mint, optional
-
Порядок интегрирования, должен быть положительным. (По умолчанию: 1)
- k{[], list, scalar}, optional
-
Постоянная(ые) интегрирования. Значение первого интеграла в
lbnd— первое значение в списке, значение второго интеграла вlbnd— второе значение и т. д. Еслиk == [](по умолчанию), все константы устанавливаются в ноль. Еслиm == 1, вместо списка можно указать единственное скалярное значение. - lbndscalar, optional
-
Нижняя граница интеграла. (По умолчанию: 0)
- sclscalar, optional
-
После каждого интегрирования результат умножается на
sclперед добавлением постоянной интегрирования. (По умолчанию: 1) - axisint, optional
-
Ось, по которой производится интегрирование. (По умолчанию: 0).
Введено в версии 1.7.0.
- Returns
-
- Sndarray
-
Массив коэффициентов ряда Лежандра интеграла.
- Raises
-
- 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–2022 NumPy Developers
Licensed under the 3-clause BSD License.
https://numpy.org/doc/1.21/reference/generated/numpy.polynomial.legendre.legint.html