orthpoly
:: legendre
Полиномы лежандра
Блокноты MuPAD® будут демонтированы в будущем релизе. Используйте live скрипты MATLAB® вместо этого.
Live скрипты MATLAB поддерживают большую часть функциональности MuPAD, хотя существуют некоторые различия. Для получения дополнительной информации смотрите, Преобразовывают Notebook MuPAD в Live скрипты MATLAB.
orthpoly::legendre(n
, x
)
orthpoly::legendre(n,x)
вычисляет значение n-th Полином лежандра степени в точке x.
Эти полиномы имеют рациональные коэффициенты.
Оценка для действительных значений с плавающей точкой x от интервала [-1.0, 1.0] численно стабилен. Смотрите Пример 2.
Используйте numeric::gldata
, чтобы вычислить корни Полиномов лежандра. Cf. Пример 3.
Многочленные выражения возвращены, если идентификаторы или индексируемые идентификаторы заданы:
orthpoly::legendre(2, x)
orthpoly::legendre(3, x[1])
Используя арифметические выражения, как введено, возвращены “значения” этих полиномов:
orthpoly::legendre(2, 3+2*I)
orthpoly::legendre(3, exp(x[1] + 2))
“Арифметические выражения” включают числа:
orthpoly::legendre(2, sqrt(2)), orthpoly::legendre(3, 8 + I), orthpoly::legendre(1000, 0.3)
Если степень полинома является переменной или выражением, то orthpoly::legendre
возвращает себя символически:
orthpoly::legendre(n, x)
Если значение с плавающей точкой желаемо, то прямой вызов такой как
orthpoly::legendre(100, 0.9)
является соответствующим и приводит к правильному результату. Не нужно оценивать символьный полином в значении с плавающей точкой, потому что это может быть численно нестабильно:
P100 := orthpoly::legendre(100, x):
evalp(P100, x = 0.9)
Этот результат вызывается числовым округлением. Также с увеличенным DIGITS
только несколько ведущих цифр правильны:
DIGITS := 30: evalp(P100, x = 0.9)
delete P100, DIGITS:
Мы рекомендуем использовать numeric::gldata
для вычислительных корней Полинома лежандра P (n, x). Эта стандартная программа обеспечивает все корни функционального Q (n, y) = P (n, 2 y - 1):
QRoots := numeric::gldata(5, DIGITS)[2]
Эти значения легко преобразовываются к корням P (n, x):
PRoots := map(QRoots, y -> 2*y - 1)
orthpoly::legendre(5, r) $ r in PRoots
delete QRoots, PRoots:
|
Неотрицательное целое число или арифметическое выражение, представляющее неотрицательное целое число: степень полинома. |
|
Неопределенное или арифметическое выражение. Неопределенным является любой идентификатор (доменного типа |
Значение Полинома лежандра в точке x
возвращено как арифметическое выражение. Если n
является арифметическим выражением, то orthpoly::legendre
возвращает себя символически.
Полиномами лежандра дают.
Они удовлетворяют формулу рекурсии
с P (0, x) = 1 и P (1, x) = x.
Они являются ортогональными на интервале [-1, 1] относительно функции веса w (x) = 1.
P (n, x) совпадает с полиномом Gegenbauer.
P (n, x) совпадает с полиномом Якоби P (n, 0, 0, x).