Паде-аппроксимация с полиномами Чебышева
Паде-аппроксимация с полиномами Чебышева
Для многих аналитических зависимостей хорошие результаты дает аппроксимация полиномами Чебышева. В общем случае применяется Паде-аппроксимация отношением таких полиномов. Она реализуется функциями chebpade:
chebpade(f, x=a..b, [m.n])
chebpade(f., x, [m.n])
chebpade(f, a..b, [m,n])
Здесь а..b задает отрезок аппроксимации, тип— максимальные степени числителя и знаменателя полиномов Чебышева. Приведенный ниже пример показывает аппроксимацию Паде полиномами Чебышева для функции f=cos(x):
Наилучшая минимаксная аппроксимация
Минимаксная аппроксимация отличается от Паде-аппроксимации минимизацией максимальной абсолютной погрешности во всем интервале аппроксимации. Она использует алгоритм Ремеза (см. ниже) и реализуется следующей функцией:
mimmax(f, x=a..b, [m.n], w, ‘maxerror’)
minimax(f, a..b, [m,n], w, ‘maxerror’)
Здесь помимо уже отмеченных параметров w — процедура или выражение, maxerror — переменная, которой приписывается значение miniraax-нормы. Ниже дан пример аппроксимации функции cos(x) в интервале [-3, 3]:
Наилучшая минимаксная аппроксимация по алгоритму Ремеза
Для получения наилучшей полиномиальной аппроксимации используется алгоритм Ремеза, который реализует следующая функция:
remez(w, f, a, b, m, n,_crit, ‘maxerror’)
Здесь w — процедура, представляющая функцию w(x) > 0 в интервале [a, b], f — процедура, представляющая аппроксимируемую функцию а и b — числа,’ задающие интервал аппроксимации fa,b], m и n — степени числителя и знаменателя аппроксимирующей функции, crit — массив, индексированный от 1 до m + n + 2 и представляющий набор оценок в критических точках (то есть точек максимума/минимума кривых погрешности), mахеrrоr — имя переменной, которой присваивается минимаксная норма w abs(f -r).
Следующий пример иллюстрирует применение данной функции для аппроксимации функции erf(x):
Другие функции пакета
Отметим назначение других функций пакета numapprox:
- chebdeg(p) — возвращает степень полинома Чебышева р;
- chebmult(p, q) — умножение полиномов Чебышева р и q;
- chebsort(e) — сортирует элементы ряда Чебышева;
- confracform(r) — преобразует рациональное выражение г в цепную дробь;
- confracform(r, х) — преобразует рациональное выражение г в цепную дробь с независимой переменной х;
- hornerform(r) — преобразует рациональное выражение г в форму Горнера;
- hornerform(r, х) — преобразует рациональное выражение г в форму Горнера с независимой переменной х;
- infnorm(f, x=a…b, ‘xmax’) — возвращает L-бесконечную норму функции на отрезкех [а, b];
- infnorm(f, a…b, ‘xmax’) — возвращает L-бесконечную норму функции на отрезке [а, b].
Действие этих функций очевидно, и читатель может самостоятельно опробовать их в работе.
Пакет интегральных преобразований inttrans
Общая характеристика пакета
Это один из пакетов, наиболее важных для общематематических и научно-технических приложений. Он содержит небольшой набор функций:
> with(inttrans):
[addtable,fourier,fouriercos,fouriersin, hankel, hilbert, invfourier, invhilbert, invldplace, invmellin, laplace, mellin, savetable]
Однако эти функции охватывают такие практические важные области математики, как ряды Фурье, прямые и обратные преобразования Лапласа и Фурье и ряд других интегральных преобразований. Ниже они обсуждены более подробно.