числовой::
Веса и абсциссы квадратуры Гаусса - Лежандра
Блокноты 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
, чтобы обеспечить данные для Гауссовой квадратуры.