exponenta event banner

Кривая

Аппроксимация одномерной функции

  • Библиотека:
  • Блок AUTOSAR/Классическая платформа/Процедуры библиотеки/Интерполяция

  • Curve block

Описание

Блок «Кривая» выполняет одномерный интерполированный поиск в таблице, включая поиск по индексу. Таблица является выборочным представлением функции. Наборы точек останова связывают входные значения с позициями в таблице. Для выполнения тех же операций, что и для этого блока, можно также использовать блоки Prelookup и Prelookup с использованием кривой.

При выборе библиотеки замены кода AUTOSAR 4.0 (CRL) для модели AUTOSAR код, созданный из этого блока, заменяется подпрограммой библиотеки AUTOSAR, настроенной в диалоговом окне параметров блока.

Порты

Вход

развернуть все

Действительные входы в порт u1, отображаемые на выходное значение путем просмотра или интерполяции определяемой таблицы значений.

Пример: 0:10

Типы данных: single | double | int8 | int16 | int32 | uint8 | uint16 | uint32 | fixed point

Продукция

развернуть все

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

Типы данных: single | double | int8 | int16 | int32 | uint8 | uint16 | uint32 | fixed point

Параметры

развернуть все

При выборе библиотеки замены кода (CRL) AUTOSAR 4.0 для модели код, сгенерированный из этого блока, заменяется из выбранной библиотеки подпрограмм AUTOSAR. Этот параметр позволяет выбрать замену и проверку кода с фиксированной точкой (IFX) или с плавающей запятой (IFL).

Этот параметр отражает имя подпрограммы библиотеки замены кода AUTOSAR (CRL), используемой для замены кода, сгенерированного этим блоком. Соглашение об именовании включает целевую библиотеку подпрограмм, метод интерполяции и тип блока. Этот параметр является только ссылочным и не должен редактироваться.

Спецификация таблицы

В списке выберите:

  • Table and breakpoints - Укажите данные таблицы и точки останова. При выборе этой опции включаются следующие параметры:

    • Данные таблицы

    • Спецификация точек останова

    • Контрольные точки

    • Изменение таблицы и точек останова

  • Lookup table object - использовать существующую таблицу подстановки (Simulink.LookupTable) объект. При выборе этой опции активируется поле Name и кнопка Edit table and breakpoints.

Программное использование

Параметр блока: DataSpecification
Текст: символьный вектор
Значения: 'Table and breakpoints' | 'Lookup table object'
По умолчанию: 'Table and breakpoints'

Введите имя таблицы подстановки (Simulink.LookupTable) объект.

Зависимости

Чтобы включить этот параметр, установите в поле Спецификация данных значение Lookup table object.

Программное использование

Параметр блока: LookupTableObject
Текст: символьный вектор
Значения: имя Simulink.LookupTable объект
По умолчанию: ''

Введите таблицу выходных значений.

Во время моделирования матрица должна быть одномерной. Однако во время редактирования блок-схемы можно ввести пустую матрицу (указанную как []) или неопределенной переменной рабочей области. Этот метод позволяет отложить задание правильно рассчитанной матрицы для данных таблицы и продолжить редактирование блок-схемы.

Зависимости

Чтобы включить этот параметр, установите в поле Спецификация данных значение Table and breakpoints.

Программное использование

Параметр блока: Table
Текст: символьный вектор
Значения: матрица значений таблицы
По умолчанию: '[1 2 4]'

Укажите, следует ли вводить данные как явные точки останова или как параметры, создающие равномерно расположенные точки останова.

  • Чтобы явно указать данные точки останова, задайте для этого параметра значение Explicit values и введите данные точек останова в текстовое поле рядом с параметрами точек останова.

  • Чтобы задать параметры, создающие равномерно расположенные точки останова, задайте для этого параметра значение Even spacing и введите значения параметров Первая точка (First point) и Интервал (Spacing) для каждого размера данных точки останова. Блок вычисляет количество точек для генерации на основе данных таблицы.

Зависимости

Чтобы включить этот параметр, установите в поле Спецификация данных значение Table and breakpoints.

Программное использование

Параметр блока: BreakpointsSpecification
Текст: символьный вектор
Значения: 'Explicit values' | 'Even spacing'
По умолчанию: 'Explicit values'

Укажите данные точек останова в явном виде или в виде равномерно распределенных точек останова на основе значения параметра спецификации точек останова.

  • Если для спецификации точек останова задано значение Explicit values, введите набор точек останова, соответствующий каждому измерению данных таблицы в каждой строке точек останова. Для каждого размера укажите точки останова как вектор 1 на n или n на 1, значения которого строго монотонно увеличиваются.

  • Если для спецификации точек останова задано значение Even spacingвведите параметры Первая точка (First point) и Интервал (Spacing) в каждой строке Точки останова (Breakpoints), чтобы создать равномерно расположенные точки останова в соответствующем размере. Табличные данные определяют количество равномерно разнесенных точек.

Зависимости

Чтобы включить этот параметр, установите в поле Спецификация данных значение Table and breakpoints.

Программное использование

Параметр блока: BreakpointsForDimension1
Текст: символьный вектор
Значения: 1 на n или n на 1 вектор монотонно возрастающих значений
По умолчанию: '[10, 22, 31]'

Укажите первую точку в равномерно разнесенных данных точек останова в виде вещественного, конечного или скаляра. Этот параметр доступен, если для спецификации точек останова задано значение Even spacing.

Зависимости

Чтобы включить этот параметр, установите в поле Спецификация данных значение Table and breakpoints и спецификации точек останова для Even spacing.

Программное использование

Параметр блока: BreakpointsForDimension1FirstPoint
Текст: символьный вектор
Значения: вещественные, конечные, скалярные
По умолчанию: '1'

Укажите интервал между точками в равномерно разнесенных данных точек останова.

Зависимости

Чтобы включить этот параметр, установите в поле Спецификация данных значение Table and breakpoints и спецификации точек останова для Even spacing.

Программное использование

Параметр блока: BreakpointsForDimension1Spacing
Текст: символьный вектор
Значения: положительные, вещественные, конечные, скалярные
По умолчанию: '1'

Нажмите эту кнопку, чтобы открыть редактор таблиц подстановки. Затем можно отредактировать объект и сохранить новые значения для объекта. Дополнительные сведения см. в разделе Правка таблиц подстановки в документации Simulink ®.

Алгоритм

Выбрать Evenly spaced points, Linear search, или Binary search. Каждый метод поиска имеет преимущества скорости в различных обстоятельствах:

  • Для равномерно распределенных наборов точек останова (например, 10, 20, 30 и т.д.) оптимальная скорость достигается путем выбора Evenly spaced points для вычисления табличных индексов. Этот алгоритм использует только первые две точки останова набора для определения смещения и интервала между остальными точками.

    Примечание

    При использовании Simulink.LookupTable для указания табличных данных и параметра спецификации точек останова ссылочного объекта Simulink.LookupTable объект имеет значение Even spacing, задайте для метода поиска Index значение Evenly spaced points.

  • Для наборов точек останова с неравномерным интервалом следуйте следующим инструкциям.

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

    • Если входные сигналы пересекают более одного или двух табличных интервалов за шаг времени, выберите Binary search обеспечивает наилучшую производительность.

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

Созданный код сохраняет только первую точку останова, интервал и количество точек останова, если:

  • Невозможно настроить данные точки останова.

  • Метод поиска индекса: Evenly spaced points.

Программное использование

Параметр блока: IndexSearchMethod
Текст: символьный вектор
Значения: 'Binary search' | 'Evenly spaced points' | 'Linear search'
По умолчанию: 'Linear search'

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

Зависимости

Чтобы включить этот параметр, задайте для метода поиска Index значение Linear search или Binary search.

Программное использование

Параметр блока: BeginIndexSearchUsing PreviousIndexResult
Текст: символьный вектор
Значения: 'off' | 'on'
По умолчанию: 'off'

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

Программное использование

Параметр блока: InterpMethod
Текст: символьный вектор
Значения: 'Linear point-slope' | 'Flat'
По умолчанию: 'Linear point-slope'

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

Эта опция не влияет на округление значений параметров блока. Simulink округляет такие значения до ближайшего представимого целого значения. Для управления округлением параметра блока введите выражение с помощью функции округления MATLAB™ в поле редактирования диалогового окна блока.

Программное использование

Параметр блока: RndMeth
Текст: символьный вектор
Значения: 'Round' | 'Zero'
По умолчанию: 'Round'

Типы данных

Укажите тип данных таблицы. Блок проверяет, совместимы ли выбранные типы со спецификацией целевой подпрограммы. Для типа данных таблицы можно задать значение:

  • Правило, наследующее тип данных, например: Inherit: Same as output

  • Имя встроенного типа данных, например: single

  • Имя объекта типа данных, например, Simulink.NumericType объект

  • Выражение, которое вычисляет тип данных, например: fixdt(1,16,0)

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

Совет

Укажите тип данных таблицы, отличный от типа выходных данных в следующих случаях:

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

  • Совместное использование предписанных табличных данных между двумя блоками Map, имеющими различные типы выходных данных.

  • Совместное использование данных пользовательской таблицы хранения в созданном коде для блоков с различными типами выходных данных.

Программное использование

Параметр блока: TableDataTypeStr
Текст: символьный вектор
Значения: 'Inherit: Inherit from 'Table data'' | 'Inherit: Same as output' | 'double' | 'single' | 'int8' | 'uint8' | 'int16' | 'uint16' | 'int32' | 'uint32' | 'fixdt(1,16)' | 'fixdt(1,16,0)' | 'fixdt(1,16,2^0,0)'|'<data type expression>'
По умолчанию: 'Inherit: Same as output'

Укажите тип данных для набора данных точек останова. Можно задать тип данных точки останова:

  • Правило, наследующее тип данных, например: Inherit: Same as corresponding input

  • Имя встроенного типа данных, например: single

  • Имя класса типа данных, например перечисляемого класса типа данных

  • Имя объекта типа данных, например, Simulink.NumericType объект

  • Выражение, которое вычисляет тип данных, например: fixdt(1,16,0)

Ограничение для использования перечисляемых данных с этим блоком состоит в том, что он не поддерживает вход вне диапазона для перечисляемой даты. При указании перечисляемых данных следует включить весь набор перечислений в набор данных точек останова.

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

Программное использование

Параметр блока: BreakpointsForDimension1DataTypeStr | BreakpointsForDimension2DataTypeStr
Текст: символьный вектор
Значения: 'Inherit: Same as corresponding input' | 'Inherit: Inherit from 'Breakpoint data'' | 'double' | 'single' | 'int8' | 'uint8' | 'int16' | 'uint16' | 'int32' | 'uint32' | 'fixdt(1,16)' | 'fixdt(1,16,0)' | 'fixdt(1,16,2^0,0)'|'<data type expression>'
По умолчанию: 'Inherit: Same as corresponding input'

Расширенные возможности

Создание кода C/C + +
Создайте код C и C++ с помощью Simulink ® Coder™

.
Представлен в R2019a