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=0xи ось axis=1y.Параметры: c : array_like
Массив коэффициентов ряда Лежандра. Если c многомерный, то разные оси соответствуют разным переменным, а степень на каждой оси задаётся соответствующим индексом.
m : int, необязательно
Порядок интегрирования, должен быть положительным. (По умолчанию: 1)
k : {[], list, scalar}, необязательно
Постоянная(ые) интегрирования. Значение первого интеграла в
lbnd— это первое значение в списке, значение второго интеграла вlbnd— второе значение и так далее. Еслиk == [](по умолчанию), все константы устанавливаются в ноль. Еслиm == 1, вместо списка можно указать одно скалярное значение.lbnd : скаляр, необязательно
Нижняя граница интеграла. (По умолчанию: 0)
scl : скаляр, необязательно
После каждого интегрирования результат умножается на
sclперед добавлением постоянной интегрирования. (По умолчанию: 1)axis : int, необязательно
Ось, по которой выполняется интегрирование. (По умолчанию: 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.14.5/reference/generated/numpy.polynomial.legendre.legint.html