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

Блок «Кривая» выполняет одномерный интерполированный поиск в таблице, включая поиск по индексу. Таблица является выборочным представлением функции. Наборы точек останова связывают входные значения с позициями в таблице. Для выполнения тех же операций, что и для этого блока, можно также использовать блоки Prelookup и Prelookup с использованием кривой.
При выборе библиотеки замены кода AUTOSAR 4.0 (CRL) для модели AUTOSAR код, созданный из этого блока, заменяется подпрограммой библиотеки AUTOSAR, настроенной в диалоговом окне параметров блока.
u1 - Входы первого размераДействительные входы в порт u1, отображаемые на выходное значение путем просмотра или интерполяции определяемой таблицы значений.
Пример: 0:10
Типы данных: single | double | int8 | int16 | int32 | uint8 | uint16 | uint32 | fixed point
Port_1 - Вывод, вычисленный путем просмотра или оценки значений таблицыВывод, генерируемый путем поиска или оценки значений таблицы на основе входных значений. Если входные данные соответствуют значениям индекса наборов точек останова, блок кривых выдает в качестве выходных данных табличное значение. Если входные данные блока не соответствуют значениям индекса в наборах точек останова, но находятся в пределах диапазона, блок выполняет выбранный метод интерполяции и выдает оценочное значение из значений таблицы в качестве выходных данных.
Типы данных: single | double | int8 | int16 | int32 | uint8 | uint16 | uint32 | fixed point
Targeted Routine Library - указывает библиотеку подпрограмм AUTOSAR, используемую для замены блочного кода; При выборе библиотеки замены кода (CRL) AUTOSAR 4.0 для модели код, сгенерированный из этого блока, заменяется из выбранной библиотеки подпрограмм AUTOSAR. Этот параметр позволяет выбрать замену и проверку кода с фиксированной точкой (IFX) или с плавающей запятой (IFL).
Targeted Routine - подпрограмма библиотеки AUTOSAR, используемая для замены кодаIfx_IntIpoMap (по умолчанию)Этот параметр отражает имя подпрограммы библиотеки замены кода AUTOSAR (CRL), используемой для замены кода, сгенерированного этим блоком. Соглашение об именовании включает целевую библиотеку подпрограмм, метод интерполяции и тип блока. Этот параметр является только ссылочным и не должен редактироваться.
Data specification - Метод спецификации таблицы и точки остановаTable and breakpoints (по умолчанию) | Lookup table objectВ списке выберите:
Table and breakpoints - Укажите данные таблицы и точки останова. При выборе этой опции включаются следующие параметры:
Данные таблицы
Спецификация точек останова
Контрольные точки
Изменение таблицы и точек останова
Lookup table object - использовать существующую таблицу подстановки (Simulink.LookupTable) объект. При выборе этой опции активируется поле Name и кнопка Edit table and breakpoints.
Параметр блока:
DataSpecification |
| Текст: символьный вектор |
Значения:
'Table and breakpoints' | 'Lookup table object' |
По умолчанию:
'Table and breakpoints' |
Name - Имя объекта таблицы подстановки[] (по умолчанию) | Simulink.LookupTable объектВведите имя таблицы подстановки (Simulink.LookupTable) объект.
Чтобы включить этот параметр, установите в поле Спецификация данных значение Lookup table object.
Параметр блока:
LookupTableObject |
| Текст: символьный вектор |
Значения: имя Simulink.LookupTable объект |
По умолчанию:
'' |
Table data - Определение таблицы выходных значений[1 2 4] (по умолчанию) | символьный векторВведите таблицу выходных значений.
Во время моделирования матрица должна быть одномерной. Однако во время редактирования блок-схемы можно ввести пустую матрицу (указанную как []) или неопределенной переменной рабочей области. Этот метод позволяет отложить задание правильно рассчитанной матрицы для данных таблицы и продолжить редактирование блок-схемы.
Чтобы включить этот параметр, установите в поле Спецификация данных значение Table and breakpoints.
Параметр блока:
Table |
| Текст: символьный вектор |
| Значения: матрица значений таблицы |
По умолчанию:
'[1 2 4]' |
Breakpoints specification - Метод определения точки остановаExplicit values (по умолчанию) | Even spacingУкажите, следует ли вводить данные как явные точки останова или как параметры, создающие равномерно расположенные точки останова.
Чтобы явно указать данные точки останова, задайте для этого параметра значение Explicit values и введите данные точек останова в текстовое поле рядом с параметрами точек останова.
Чтобы задать параметры, создающие равномерно расположенные точки останова, задайте для этого параметра значение Even spacing и введите значения параметров Первая точка (First point) и Интервал (Spacing) для каждого размера данных точки останова. Блок вычисляет количество точек для генерации на основе данных таблицы.
Чтобы включить этот параметр, установите в поле Спецификация данных значение Table and breakpoints.
Параметр блока:
BreakpointsSpecification |
| Текст: символьный вектор |
Значения:
'Explicit values' | 'Even spacing' |
По умолчанию:
'Explicit values' |
Breakpoints - Явные значения точек останова или первая точка и интервал между точками останова[10,22,31] (по умолчанию) | 1-на-n или n-на-1 вектор монотонно возрастающих значенийУкажите данные точек останова в явном виде или в виде равномерно распределенных точек останова на основе значения параметра спецификации точек останова.
Если для спецификации точек останова задано значение Explicit values, введите набор точек останова, соответствующий каждому измерению данных таблицы в каждой строке точек останова. Для каждого размера укажите точки останова как вектор 1 на n или n на 1, значения которого строго монотонно увеличиваются.
Если для спецификации точек останова задано значение Even spacingвведите параметры Первая точка (First point) и Интервал (Spacing) в каждой строке Точки останова (Breakpoints), чтобы создать равномерно расположенные точки останова в соответствующем размере. Табличные данные определяют количество равномерно разнесенных точек.
Чтобы включить этот параметр, установите в поле Спецификация данных значение Table and breakpoints.
Параметр блока:
BreakpointsForDimension1 |
| Текст: символьный вектор |
| Значения: 1 на n или n на 1 вектор монотонно возрастающих значений |
По умолчанию:
'[10, 22, 31]' |
First point - Первая точка в равномерно разнесенных данных точек останова1 (по умолчанию) | скалярУкажите первую точку в равномерно разнесенных данных точек останова в виде вещественного, конечного или скаляра. Этот параметр доступен, если для спецификации точек останова задано значение Even spacing.
Чтобы включить этот параметр, установите в поле Спецификация данных значение Table and breakpoints и спецификации точек останова для Even spacing.
Параметр блока:
BreakpointsForDimension1FirstPoint |
| Текст: символьный вектор |
| Значения: вещественные, конечные, скалярные |
По умолчанию:
'1' |
Spacing - Интервал между равномерно расположенными точками останова1 (по умолчанию) | скалярУкажите интервал между точками в равномерно разнесенных данных точек останова.
Чтобы включить этот параметр, установите в поле Спецификация данных значение Table and breakpoints и спецификации точек останова для Even spacing.
Параметр блока:
BreakpointsForDimension1Spacing |
| Текст: символьный вектор |
| Значения: положительные, вещественные, конечные, скалярные |
По умолчанию:
'1' |
Edit table and breakpoints - диалоговое окно «Запуск редактора таблиц подстановки»Нажмите эту кнопку, чтобы открыть редактор таблиц подстановки. Затем можно отредактировать объект и сохранить новые значения для объекта. Дополнительные сведения см. в разделе Правка таблиц подстановки в документации Simulink ®.
Index search method - Метод расчета табличных индексовLinear search (по умолчанию) | Evenly spaced points | Binary searchВыбрать 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' |
Begin index search using previous index result - начать использовать индекс с предыдущего шага времени;off (по умолчанию) | onУстановите этот флажок, если требуется, чтобы блок начал поиск по индексу, найденному на предыдущем шаге времени. Для вводов, которые медленно изменяются относительно размера интервала, включение этой опции может повысить производительность. В противном случае линейный и двоичный методы поиска могут занять больше времени, особенно для больших наборов точек останова.
Чтобы включить этот параметр, задайте для метода поиска Index значение Linear search или Binary search.
Параметр блока:
BeginIndexSearchUsing PreviousIndexResult |
| Текст: символьный вектор |
Значения:
'off' | 'on' |
По умолчанию:
'off' |
Interpolation method - Метод интерполяции между значениями точек остановаLinear point-slope (по умолчанию) | FlatКогда входной сигнал попадает между значениями точек останова, блок интерполирует выходное значение с помощью соседних точек останова. Дополнительные сведения см. в разделе Методы интерполяции.
Параметр блока:
InterpMethod |
| Текст: символьный вектор |
Значения:
'Linear point-slope' | 'Flat' |
По умолчанию:
'Linear point-slope' |
Integer rounding mode - Режим округления для операций с фиксированной точкойRound (по умолчанию) | ZeroУкажите режим округления для вычислений таблицы поиска с фиксированной или плавающей запятой, которые происходят во время моделирования или выполнения кода, созданного из модели.
Эта опция не влияет на округление значений параметров блока. Simulink округляет такие значения до ближайшего представимого целого значения. Для управления округлением параметра блока введите выражение с помощью функции округления MATLAB™ в поле редактирования диалогового окна блока.
Параметр блока:
RndMeth |
| Текст: символьный вектор |
Значения:
'Round' | 'Zero' |
По умолчанию:
'Round' |
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
Имя встроенного типа данных, например: 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' |
Breakpoints - Тип данных точки остановаInherit: Same as corresponding input (по умолчанию) | double | single | int8 | uint8 | int16 | uint16 | int32 | uint32 | fixdt(1,16) | fixdt(1,16,0) | fixdt(1,16,2^0,0) | Enum: <class name> | <data type expression>Укажите тип данных для набора данных точек останова. Можно задать тип данных точки останова:
Правило, наследующее тип данных, например: 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' |
Кривая с использованием Prelookup | Карта | Карта с использованием Prelookup | Предварительный поиск
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.