Методы аппроксимации значений функций
Об аппроксимации значений функций
На втором этапе операции поиска по таблице генерируются выходы, соответствующие поданным на вход значениям. Если входы совпадают со значениями индексов, указанных в векторах опорных точек, блок выводит соответствующие значения. Однако если входные данные не совпадают со значениями индексов в векторах опорных точек, то Engee оценивает выходные данные. В окне параметров блока можно указать, как вычислить выход в этой ситуации. Доступные методы поиска описаны в следующих разделах.
Методы интерполяции
Когда входное значение попадает между опорными точками, блок интерполирует выходное значение, используя соседние точки. Для большинства блоков таблиц поиска доступны следующие методы интерполяции:
-
Flat
— отключает интерполяцию и использует операцию округления, озаглавленнуюUse Input Below
. -
Nearest
— отключает интерполяцию и возвращает значение таблицы, соответствующее опорной точке, ближайшей к входу. Если входной сигнал равноудален от двух соседних опорных точек, то выбирается опорная точка с более высоким индексом. -
Linear point-slope
— проводит линию между соседними опорными точками и возвращает точку на этой линии, соответствующую входу. Уравнение линии:,
,
где — входные данные, — данные выходной таблицы ( — координаты данных таблицы), а — доля интервала (дробь).
-
Cubic spline
— строит кубический сплайн, основываясь на соседних опорных точках, и возвращает точку на этом сплайне, соответствующую входу. -
Linear Lagrange
— строит линию между соседними опорными точками, используя интерполяцию Лагранжа первого порядка, и возвращает точку на этой линии, соответствующую входу. Уравнение линии:,
,
где — входные данные, — данные выходной таблицы, а — дробь, значение лежит в диапазоне`[0,1)`.
Если метод экстраполяции имеет значение
Linear
, то значение экстраполяции рассчитывается на основе выбранного метода линейной интерполяции. Например, если метод интерполяции —Linear Lagrange
, то метод экстраполяции наследует линейное уравнение Лагранжа для вычисления экстраполированного значения. -
Akima spline
— строит сплайн Акимы, основываясь на соседних опорных точках и возвращает точку на этом сплайне, соответствующую входу. Метод интерполяции работает только с методом экстраполяции сплайна Акимы. Модифицированный метод кубической Эрмитовой интерполяции Акимы обладает следующими свойствами:-
Он дает меньше колебаний, чем кубический сплайн;
-
Он более эффективен для приложений реального времени, чем кубический сплайн;
-
В отличие от кубического сплайна, он не дает проскакиваний.
-
Блок Lookup Table Dynamic не позволяет выбрать метод интерполяции. Опция Interpolation-Extrapolation для параметра Lookup Method означает выполнение линейной интерполяции.
|
Каждый метод интерполяции подразумевает компромисс между временем вычислений и сглаженностью результата. Хотя округление выполняется быстрее всего, оно является наименее сглаженным. Линейная интерполяция выполняется медленнее, чем округление, но дает более сглаженные результаты, за исключением опорных точек, где наклон меняется. Кубическая сплайн-интерполяция — самый медленный метод, но дает сглаженные результаты. Акима сплайн дает самые сглаженные результаты.
Методы экстраполяции
Когда входной сигнал выходит за пределы диапазона вектора опорных точек, блок экстраполирует выходное значение из пары значений в конце вектора опорных точек. Для большинства блоков таблиц поиска доступны следующие методы экстраполяции:
-
Clip
— отключает экстраполяцию и возвращает данные таблицы, соответствующие концу диапазона вектора опорных точек. Это не обеспечивает защиту от значений, выходящих за пределы диапазона. -
Linear
— если метод интерполяции линейный, то этот метод экстраполяции строит линию между первой или последней парой опорных точек, в зависимости от того, меньше ли входной сигнал первой или больше последней опорной точки. Если метод интерполяции —Cubic spline
илиAkima spline
, то этот метод экстраполяции строит линейную поверхность, используя наклон интерполяции в первой или последней опорной точке, в зависимости от того, меньше ли входной сигнал первой или больше последней опорной точки. Метод экстраполяции возвращает точку на сгенерированной линейной поверхности, соответствующую входу.Если метод экстраполяции
Linear
, то значение экстраполяции вычисляется на основе выбранного метода линейной интерполяции. Например, если метод интерполяцииLinear Lagrange
, то метод экстраполяции наследует линейное уравнение Лагранжа для вычисления экстраполированного значения. -
Cubic spline
— строит кубический сплайн основываясь на первой или последней паре опорных точек, в зависимости от того, меньше ли входной сигнал первой или больше последней опорной точки соответственно. Этот метод возвращает точку на сплайне, соответствующую входу. -
Akima spline
— строит сплайн Акимы основываясь на первой или последней паре опорных точек, в зависимости от того, меньше ли входной сигнал первой или больше последней опорной точки соответственно. Этот метод возвращает точку на сплайне, соответствующую входу.
Блок Lookup Table Dynamic не позволяет выбрать метод экстраполяции. Опция Interpolation-Extrapolation в поле Lookup Method окна параметров блока выполняет линейную экстраполяцию.
|
Методы округления
Если входное значение находится между опорными точками или вне диапазона вектора опорных точек и не задана интерполяция или экстраполяция, блок округляет значение до соседней опорной точки и возвращает соответствующее выходное значение. Например, блок Lookup Table Dynamic позволяет выбрать один из следующих методов округления:
-
Use Input Nearest
— возвращает выходное значение, соответствующее ближайшему входному значению. -
Use Input Below
— возвращает выходное значение, соответствующее значению опорной точки, меньшей и в то же время наиболее близкой к входному значению. Если ниже входного значения нет опорной точки, то возвращается ближайшее к входному значению значение опорной точки. -
Use Input Above
— возвращает выходное значение, соответствующее значению опорной точки, большей и в то же время наиболее близкой к входному значению. Если не существует значения опорной точки выше входного значения, то возвращается ближайшее к входному значению опорной точки.