Как мы увидели (см. разд. 13.1.4), стандартные функции интерполяции-экстраполяции стоит применять только в непосредственной близости границ интервала данных. В Mathcad имеется более развитый инструмент экстраполяции, который учитывает распределение данных вдоль всего интервала. В функцию predict встроен линейный алгоритм предсказания поведения функции, основанный на анализе, в том числе осцилляции:
- у — вектор действительных значений, взятых через равные промежутки значений аргумента;
- m — количество последовательных элементов вектора у, согласно которым строится экстраполяция;
- n — количество элементов вектора предсказаний.
Как видно из рис. 13.11, функция предсказания может быть полезна при экстраполяции данных на небольшие расстояния. Вдали от исходных данных результат часто бывает неудовлетворительным. Кроме того, функция
predict хорошо работает в задачах анализа подробных данных с четко прослеживающейся закономерностью (типа рис. 13.10), в основном осциллирующего характера.
Рис. 13.10. Экстраполяция при помощи функции предсказания (продолжение листинга 13.4)
Рис. 13.11. Работа функции предсказания в случае малого количества данных (продолжение листинга 13.5)
Если данных мало, то предсказание может оказаться бесполезным. В листинге 13.5 приведена экстраполяция небольшой выборки данных (из примеров, рассмотренных в предыдущих разделах). Соответствующий результат показан на рис. 13.11 для различных крайних точек массива исходных данных, для которых строится экстраполяция.
Листинг 13.5. Экстраполяция при помощи функции предсказания