Документация Engee

Методы аппроксимации значений функций

Страница в процессе разработки.

Об аппроксимации значений функций

На втором этапе операции поиска по таблице генерируются выходы, соответствующие поданным на вход значениям. Если входы совпадают со значениями индексов, указанных в векторах опорных точек, блок выводит соответствующие значения. Однако если входные данные не совпадают со значениями индексов в векторах опорных точек, то Engee оценивает выходные данные. В окне параметров блока можно указать, как вычислить выход в этой ситуации. Доступные методы поиска описаны в следующих разделах.

Методы интерполяции

Когда входное значение попадает между опорными точками, блок интерполирует выходное значение, используя соседние точки. Для большинства блоков таблиц поиска доступны следующие методы интерполяции:

  • Ступенчатая — отключает интерполяцию и использует операцию округления, озаглавленную Использовать ближайшее входное значение снизу.

  • К ближайшему — отключает интерполяцию и возвращает значение таблицы, соответствующее опорной точке, ближайшей к входу. Если входной сигнал равноудален от двух соседних опорных точек, то выбирается опорная точка с более высоким индексом.

  • Линейная с угловым коэффициентом — проводит линию между соседними опорными точками и возвращает точку на этой линии, соответствующую входу. Уравнение линии:

    ,

    ,

    где — входные данные, — данные выходной таблицы ( — координаты данных таблицы), а — доля интервала (дробь).

  • Кубическими сплайнами — строит кубический сплайн основываясь на соседних опорных точках и возвращает точку на этом сплайне, соответствующую входу.

  • Линейная полиномом Лагранжа — строит линию между соседними опорными точками, используя интерполяцию Лагранжа первого порядка, и возвращает точку на этой линии, соответствующую входу. Уравнение линии:

    ,

    ,

    где — входные данные, — данные выходной таблицы, а — дробь, значение лежит в диапазоне`[0,1)`.

    Если метод экстраполяции имеет значение Линейная, то значение экстраполяции рассчитывается на основе выбранного метода линейной интерполяции. Например, если метод интерполяции — Линейная полиномом Лагранжа, то метод экстраполяции наследует линейное уравнение Лагранжа для вычисления экстраполированного значения.

  • Сплайном Акимы — строит сплайн Акимы, основываясь на соседних опорных точках и возвращает точку на этом сплайне, соответствующую входу. Метод интерполяции работает только с методом экстраполяции сплайна Акимы. Модифицированный метод кубической Эрмитовой интерполяции Акимы обладает следующими свойствами:

    • Он дает меньше колебаний, чем кубический сплайн;

    • Он более эффективен для приложений реального времени, чем кубический сплайн;

    • В отличие от кубического сплайна, он не дает проскакиваний.

Блок Динамическая аппроксимация табличной функции не позволяет выбрать метод интерполяции. Опция Интерполяция-Экстраполяция для параметра Методы аппроксимации означает выполнение линейной интерполяции.

Каждый метод интерполяции подразумевает компромисс между временем вычислений и сглаженностью результата. Хотя округление выполняется быстрее всего, оно является наименее сглаженным. Линейная интерполяция выполняется медленнее, чем округление, но дает более сглаженные результаты, за исключением опорных точек, где наклон меняется. Кубическая сплайн-интерполяция — самый медленный метод, но дает сглаженные результаты. Акима сплайн дает самые сглаженные результаты.

Методы экстраполяции

Когда входной сигнал выходит за пределы диапазона вектора опорных точек, блок экстраполирует выходное значение из пары значений в конце вектора опорных точек. Для большинства блоков таблиц поиска доступны следующие методы экстраполяции:

  • Обрезать — отключает экстраполяцию и возвращает данные таблицы, соответствующие концу диапазона вектора опорных точек. Это не обеспечивает защиту от значений, выходящих за пределы диапазона.

  • Линейная — если метод интерполяции линейный, то этот метод экстраполяции строит линию между первой или последней парой опорных точек, в зависимости от того, меньше ли входной сигнал первой или больше последней опорной точки. Если метод интерполяции — Кубическими сплайнами или Сплайном Акимы, то этот метод экстраполяции строит линейную поверхность, используя наклон интерполяции в первой или последней опорной точке, в зависимости от того, меньше ли входной сигнал первой или больше последней опорной точки. Метод экстраполяции возвращает точку на сгенерированной линейной поверхности, соответствующую входу.

    Если метод экстраполяции Линейная, то значение экстраполяции вычисляется на основе выбранного метода линейной интерполяции. Например, если метод интерполяции Линейная полиномом Лагранжа, то метод экстраполяции наследует линейное уравнение Лагранжа для вычисления экстраполированного значения.

  • Кубическими сплайнами — строит кубический сплайн основываясь на первой или последней паре опорных точек, в зависимости от того, меньше ли входной сигнал первой или больше последней опорной точки соответственно. Этот метод возвращает точку на сплайне, соответствующую входу.

  • Сплайном Акимы — строит сплайн Акимы основываясь на первой или последней паре опорных точек, в зависимости от того, меньше ли входной сигнал первой или больше последней опорной точки, соответственно. Этот метод возвращает точку на сплайне, соответствующую входу.

Блок Динамическая аппроксимация табличной функции не позволяет выбрать метод экстраполяции. Опция Интерполяция-Экстраполяция в поле Методы аппроксимации окна параметров блока выполняет линейную экстраполяцию.

Методы округления

Если входное значение находится между опорными точками или вне диапазона вектора опорных точек и не задана интерполяция или экстраполяция, блок округляет значение до соседней опорной точки и возвращает соответствующее выходное значение. Например, блок Динамическая аппроксимация табличной функции позволяет выбрать один из следующих методов округления:

  • Использовать ближайшее входное значение — возвращает выходное значение, соответствующее ближайшему входному значению.

  • Использовать ближайшее входное значение снизу — возвращает выходное значение, соответствующее значению опорной точки, меньшей и в то же время наиболее близкой к входному значению. Если ниже входного значения нет опорной точки, то возвращается ближайшее к входному значению значение опорной точки.

  • Использовать ближайшее входное значение сверху — возвращает выходное значение, соответствующее значению опорной точки, большей и в то же время наиболее близкой к входному значению. Если не существует значения опорной точки выше входного значения, то возвращается ближайшее к входному значению опорной точки.