Интерполяция одномерной кривой

Описание демо-примера

Расположение

SimInTech\Demo\Автоматика и математика\Интерполяция\Интерполяция одномерной кривой.prt

Описание

Данный проект демонстрирует возможности библиотеки "Интерполяция" для одномерной интерполяции. Осуществляется сравнение различных методов интерполяции: линейной, кубическим сплайном, сплайном Акимы и полиномом Лагранжа.

Математическая модель для интерполяции представлена на рисунке (Рисунок 1)


Рис. 1. Окно проекта демо-примера

Блоки "Линейный источник" формирует изменяющееся во времени значение аргумента интерполяции.

Блок "Линейное с насыщением" позволяют задать желаемый диапазон изменения аргумента, преобразуя входной сигнал из интервала [0, 1] в интервал [Y1, Y2] в соответствии со значениями свойств блока.

Блоки "Интерполяция одномерной кривой" осуществляют интерполяцию одной и той же табличной кривой, но заданной различными способами:

  • через свойства блока
  • с использованием одного текстового файла
  • с использованием двух текстовых файлов для аргументов и значений функции
  • через порты блока
Прим.:
Текстовые файлы проекта находится в директории проекта в папке "data".

Блоки "Константа" задают массивы значений аргументов и функций для интерполяции.

Интерполируемая кривая отображается в графическом изображении блоков "Интерполяция одномерной кривой"

На графике отображаются результаты интерполяции различными методами. Кружки на графике линейной интерполяции отражают точки исходной табличной кривой. (Рисунок2).



Рис. 2. Результат одномерной интерполяции

При сравнении графиков возможно сделать следующие выводы:

  1. Интерполяция сплайном Акимы позволяет практически линейно интерполировать участки табличной кривой, в которой три и более точек расположены на одной прямой, в то время как интерполяция кубическим сплайном формирует всплески полиномиальной функции на этих участках
  2. Интерполяция полиномом Лагранжа очень плохо описывает табличную кривую на ее границах, а в остальных интервалах схожа с интерполяцией кубическим сплайном

Используемые блоки