В этом примере показано, как заполнить блок 1-D Lookup Table с помощью диалогового окна параметра. Интерполяционная таблица в этом примере аппроксимирует функцию y = x3 в области значений [-3, 3]
.
Скопируйте 1-D Lookup Table блок из библиотеки блоков Интерполяционных таблиц в Simulink® модель.
В диалоговом окне блока 1-D интерполяционная таблица введите размерности таблицы и данные таблицы в заданные поля диалогового окна:
Установите Number of table dimensions значение 1
.
Установите Table data значение [-27 -8 -1 0 1 8 27]
.
Кроме того, чтобы использовать существующую интерполяционную таблицу (Simulink.LookupTable
) объект, выберите Data specification > Lookup table object.
Введите набор данных точек по оси Х с помощью одного из двух методов:
Чтобы задать равномерно расположенные точки данных, установите Breakpoint specification равным Even spacing
. Установите First point значение -3
и Spacing к 1
. Блок вычисляет количество равномерно разнесенных точек останова на основе данных таблицы.
Чтобы явным образом задать данные точек по оси Х, установите Breakpoint specification равным Explicit values
и установите Breakpoints 1 равным [-3:3]
.
Используйте следующую процедуру, чтобы заполнить блок 2-D Lookup Table с помощью редактора интерполяционных таблиц. В этом примере интерполяционная таблица аппроксимирует функцию z = x2 + y2по входу областей значений x = [0, 2]
и y = [0, 2]
.
Скопируйте 2-D Lookup Table блок из библиотеки блоков Интерполяционные таблицы в модель Simulink.
Откройте Редактор интерполяционных таблиц, выбрав Lookup Table Editor на вкладке Modeling или щелкнув Edit table and breakpoints в диалоговом окне блока 2-D Lookup Table.
В разделе Viewing "n-D Lookup Table" block data введите наборы данных точек по оси Х и данные таблицы в соответствующие камеры. Чтобы изменить данные, щелкните камеру, введите новое значение и нажмите Enter.
В камерах, связанных с Row Breakpoints, введите каждое из значений [0 1 2]
.
В камерах, связанных с Column Breakpoints, введите каждое из значений [0 1 2]
.
В камерах данных таблицы введите значения в массиве [0 1 4; 1 2 5; 4 5 8]
.
Редактор интерполяционных таблиц выглядит следующим образом:
В редакторе интерполяционных таблиц выберите File > Update Block Data, чтобы обновить данные в блоке 2-D Lookup Table.
Закройте Редактор интерполяционных таблиц.
Используйте следующую процедуру, чтобы заполнить блок Lookup Table Dynamic с помощью входных портов этого блока. В этом примере интерполяционная таблица аппроксимирует функцию y = 3 x2 в области значений [0, 10]
.
Скопируйте Lookup Table Dynamic блок из библиотеки блоков Интерполяционные таблицы в модель Simulink.
Скопируйте блоки, необходимые для реализации уравнения y = 3 x2 к модели Simulink:
Один Constant блок для определения входа области значений из библиотеки Sources
Один Math Function блок к квадрату входной области значений, из библиотеки Математические операции
Один Gain блок, чтобы умножить сигнал на 3, также из библиотеки Математические операции
Присвойте следующие значения параметров блокам Constant, Math Function и Gain с помощью их диалоговых окон:
Блок | Параметр | Значение |
---|---|---|
Постоянный | Constant value | 0:10 |
Математическая функция | Function | square |
Выгода | Gain | 3 |
Введите набор данных точек по оси Х в блок Lookup Table Dynamic путем подключения выходного порта блока Constant к входному порту блока Lookup Table Dynamic, маркированного xdat. Этот сигнал является набором данных входной точки прерывания для x.
Введите данные таблицы в блок Lookup Table Dynamic путем ветвления выходного сигнала от блока Constant и соединения его с блоком Math Function. Затем соедините блок Math Function с блоком Gain. Наконец, соедините Gain блок с входа портом Lookup Table Dynamic блока, маркированного ydat. Этот сигнал является табличными данными для y.
Lookup Table Dynamic | n-D Lookup Table