numpy.polynomial.legendre.legint#
- polynomial.legendre.legint(c, m=1, k=[], lbnd=0, scl=1, ось=0)[источник]#
Интегрировать ряд Лежандра.
Возвращает коэффициенты ряда Лежандра c интегрированный m раз от lbnd вдоль ось. На каждой итерации результирующий ряд умноженный by 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{[], list, scalar}, опционально
Константа(ы) интегрирования. Значение первого интеграла при
lbndявляется первым значением в списке, значение второго интеграла вlbndявляется вторым значением и т.д. Еслиk == [](по умолчанию), все константы устанавливаются в ноль. Еслиm == 1, одиночный скаляр может быть указан вместо списка.- lbndскаляр, опционально
Нижняя граница интеграла. (По умолчанию: 0)
- sclскаляр, опционально
После каждого интегрирования результат умноженный by scl перед добавлением константы интегрирования. (По умолчанию: 1)
- осьint, необязательный
Ось, по которой берётся интеграл. (По умолчанию: 0).
- Возвращает:
- Sndarray
Массив коэффициентов ряда Лежандра интеграла.
- Вызывает:
- ValueError
Если
m < 0,len(k) > m,np.ndim(lbnd) != 0, илиnp.ndim(scl) != 0.
Смотрите также
Примечания
Обратите внимание, что результат каждого интегрирования умноженный by 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