Предположим, что вы хотите аппроксимировать десятичный логарифм (базируйтесь 10) по входному диапазону [1, 10], не выполняя дорогое вычисление. Можно выполнить это приближение с помощью блока интерполяционной таблицы, как описано в следующей процедуре. (Если вы хотите пропустить процедуру, можно открыть модель непосредственно.)
Скопируйте следующие блоки в модель Simulink®:
Один блок Constant, чтобы ввести сигнал, от библиотеки Sources
Один n-D блок Lookup Table, чтобы аппроксимировать десятичный логарифм, от библиотеки Lookup Tables
Один блок Display, чтобы отобразить вывод, от библиотеки Sinks
Присвойте табличные данные и установите точки останова набор данных к n-D блоку Lookup Table:
В поле Number of table dimensions введите 1
.
В поле Table data введите [0 .301 .477 .602 .699 .778 .845 .903 .954 1]
.
В поле Breakpoints 1 введите [1:10]
.
Нажмите Apply.
Диалоговое окно выглядит примерно так:
Дважды кликните блок Constant, чтобы открыть диалоговое окно параметра и изменить параметр Constant value на 5
. Нажмите OK, чтобы применить изменения и закрыть диалоговое окно.
Соедините блоки можно следующим образом.
Запустите симуляцию.
Следующее поведение применяется к n-D блоку Lookup Table.
Значение постоянного блока | Действие n-D Блоком Интерполяционной таблицы | Пример поведения блока | |
---|---|---|---|
Входное значение | Выходное значение | ||
Равняется точке останова | Возвращает соответствующее выходное значение | 5 | 0.699 |
Падения между точками останова | Линейно интерполирует точки останова граничения использования выходного значения | 7.5 | 0.874 |
Выходит за пределы области значений набора данных точки останова | Линейно экстраполирует выходное значение от пары значений в конце набора данных точки останова | 10.5 | 1.023 |
Для n-D блока Lookup Table настройками по умолчанию для Interpolation method и Extrapolation method является оба Linear
.