Создайте интерполяционную таблицу логарифма

Предположим, что вы хотите аппроксимировать десятичный логарифм (базируйтесь 10) по входному диапазону [1, 10], не выполняя дорогое вычисление. Можно выполнить это приближение с помощью блока интерполяционной таблицы, как описано в следующей процедуре. (Если вы хотите пропустить процедуру, можно открыть модель непосредственно.)

  1. Скопируйте следующие блоки в модель Simulink®:

    • Один блок Constant, чтобы ввести сигнал, от библиотеки Sources

    • Один n-D блок Lookup Table, чтобы аппроксимировать десятичный логарифм, от библиотеки Lookup Tables

    • Один блок Display, чтобы отобразить вывод, от библиотеки Sinks

  2. Присвойте табличные данные и установите точки останова набор данных к n-D блоку Lookup Table:

    1. В поле Number of table dimensions введите 1.

    2. В поле Table data введите [0 .301 .477 .602 .699 .778 .845 .903 .954 1].

    3. В поле Breakpoints 1 введите [1:10].

    4. Нажмите Apply.

    Диалоговое окно выглядит примерно так:

  3. Дважды кликните блок Constant, чтобы открыть диалоговое окно параметра и изменить параметр Constant value на 5. Нажмите OK, чтобы применить изменения и закрыть диалоговое окно.

  4. Соедините блоки можно следующим образом.

  5. Запустите симуляцию.

    Следующее поведение применяется к n-D блоку Lookup Table.

    Значение постоянного блокаДействие n-D Блоком Интерполяционной таблицыПример поведения блока
    Входное значениеВыходное значение
    Равняется точке остановаВозвращает соответствующее выходное значение50.699
    Падения между точками остановаЛинейно интерполирует точки останова граничения использования выходного значения7.50.874
    Выходит за пределы области значений набора данных точки остановаЛинейно экстраполирует выходное значение от пары значений в конце набора данных точки останова10.51.023

    Для n-D блока Lookup Table настройками по умолчанию для Interpolation method и Extrapolation method является оба Linear.

Смотрите также

Похожие темы