числовой::Веса и абсциссы квадратуры Гаусса - Лежандра
Блокноты MuPAD® будут демонтированы в будущем релизе. Используйте live скрипты MATLAB® вместо этого.
Live скрипты MATLAB поддерживают большую часть функциональности MuPAD, хотя существуют некоторые различия. Для получения дополнительной информации смотрите, Преобразовывают Notebook MuPAD в Live скрипты MATLAB.
numeric::gldata(n, digits)
numeric::gldata(n, digits) возвращает веса и абсциссы квадратурного правила Гаусса - Лежандра с узлами n с точностью десятичных цифр digits.
Квадратурное правило Гаусса - Лежандра
производит точный интеграл
для всех полиномиальных подынтегральных выражений f (x) через степень 2 n - 1. Веса b i и абсциссы c i связаны с корнями n-th Полином лежандра.
Веса и абсциссы вычисляются прямым числовым алгоритмом с рабочей точностью, установленной аргументом digits. Получившиеся числа с плавающей запятой правильны к digits, ведущему десятичные разряды.
Как правило, аргумент digits выбран в качестве текущего значения переменной окружения DIGITS.
Данные для n = 20, 40, 80, 160 с digits <= 200 хранится внутренне. Они сразу возвращены без любых вычислительных затрат.
Из-за внутреннего помнят механизм, только первый вызов numeric::gldata приводит к вычислительным затратам. Для дальнейшего вызова с теми же аргументами данные сразу возвращены.
Для нечетного n абсцисса
и соответствующий вес
являются рациональными числами.
numeric::gldata не чувствителен к изменениям переменной окружения DIGITS, потому что числовая рабочая точность задана вторым аргументом digits.
Функция использует option remember.
Следующий вызов вычисляет данные Гаусса - Лежандра с точностью, данной текущим значением переменной окружения DIGITS (значением по умолчанию является DIGITS = 10):
[b, c] := numeric::gldata(4, DIGITS)
![]()
Данные Гаусса - Лежандра с 4 узлами обеспечивают точные числовые квадратурные результаты для полиномов через степень 7:
f := x -> x^7: int(f(x), x= 0..1) = _plus(b[i]*f(c[i]) $ i=1..4)
![]()
delete b, c, f:
Для нечетного n, точных рациональных данных для
и
возвращены. Другие данные вычисляются как приближения с плавающей точкой:
DIGITS := 4: numeric::gldata(5, DIGITS)
![]()
delete DIGITS:
|
Количество узлов: положительное целое число |
|
Количество десятичных цифр: положительное целое число |
Список [b, c] возвращен. Списки b = [b1, …, bn] и c = [c1, …, cn] являются числовыми приближениями весов и абсцисс с digits значительные цифры.
Числовой интегратор numeric::quadrature вызывает numeric::gldata, чтобы обеспечить данные для Гауссовой квадратуры.