Составители:
использованием полиномов Чебышева, после чего преобразовывает результат к степеням x. Это позволяет
отчасти сохранить точность вычислений, т.к. все промежуточные расчеты ведутся в хорошо обусловленном
базисе. Однако все же предпочтительным вариантом является базис из полиномов Чебышева.
В некоторых случаях требуется решение задачи с ограничениями. Например, мы можем знать, что
аппроксимируемая функция равна 1 на границе, т.е. при x = 0. Если у нас имеется достаточно большое
количество точек в окрестностях x = 0, то построенная функция пройдет в окрестностях точки (0,1). Однако
точного совпадения скорее всего не будет. Во многих случаях точное соблюдение каких-то граничных
условий не требуется. Однако иногда встречаются задачи, требующие именно точного прохождения
аппроксимирующей функции через несколько заданных точек или равенства производной в некоторых точках
заранее заданным значениям. При этом особые требования предъявляются только к нескольким точкам xk . В
остальных же точках мы просто минимизируем сумму квадратов отклонений.
В таком случае имеет место задача аппроксимации с ограничениями вида
или
Для решения таких задач предназначен специальный алгоритм, реализованный в подпрограмме
BuildChebyshevLeastSquaresConstrained. В настоящее время подпрограмма способна обрабатывать
произвольное количество ограничений (но строго меньшее, чем M) на значение функции и её первой
производной. Ограничения на значения производных высших порядков не поддерживаются.
4.3Аппроксимация кубическими сплайнами
Ещё одним возможным набором базисных функций являются кубические сплайны. Множество сплайнов с
общими узлами образует линейное пространство, что позволяет применить к ним линейный метод
наименьших квадратов. В качестве базисных функций выбираются сплайны, удовлетворяющие следующим
условиям:
Для простоты мы предполагаем, что аппроксимация строится на отрезке [0,M-1], с узлами, равномерно
распределенными по отрезку. Разумеется, в реальности отрезок, на котором осуществляется аппроксимация,
может быть любым (однако равномерность распределения узлов сохраняется). На графике ниже приведен
пример такой системы базисных функций:
Рисунок 5.4
Построение аппроксимирующей функции осуществляется подпрограммой BuildSplineLeastSquares.
Результатом её работы является массив коэффициентов, задающий результирующий кубический сплайн. Этот
массив передается в подпрограмму SplineInterpolation (см. описание модуля для интерполяции кубическими
сплайнами), которая рассчитывает значение аппроксимирующего сплайна в указанной точке.
4.4 Аппроксимация произвольным набором базисных функций
Выше были приведены три набора базисных функций, которые могут использоваться для аппроксимации:
прямые, полиномы и кубические сплайны. Однако это не единственные наборы функций, которые могут быть
85
Страницы
- « первая
- ‹ предыдущая
- …
- 84
- 85
- 86
- 87
- 88
- …
- следующая ›
- последняя »