Аппроксимируйте двумерную функцию
AUTOSAR Blockset / Классическая Платформа / Библиотечные подпрограммы / Интерполяция
Блок Map выполняет двумерный, интерполированный поиск по таблице, включая поиски по индексу. Таблица является произведенным представлением функции в двух переменных. Наборы точки останова связывают входные значения с положениями в таблице. Можно также использовать Prelookup, и Prelookup Using Map блокируется вместе, чтобы выполнить те же операции как этот блок.
Когда вы устанавливаете Math and Data Types> параметр конфигурации Use algorithms optimized for row-major array layout , поведение блока изменяется от упорядоченного по столбцам до упорядоченного по строкам. Для этих блоков упорядоченные по столбцам и упорядоченные по строкам алгоритмы могут отличаться по порядку выходных вычислений, возможно приводящих к немного отличающимся числовым значениям. Эта возможность требует программного обеспечения Simulink Coder™ или Embedded Coder™. Для получения дополнительной информации об упорядоченной по строкам поддержке смотрите Генерацию кода Матриц и Массивов (Simulink Coder).
Если вы выбираете заменяющую библиотеку кода (CRL) AUTOSAR 4.0 для своей модели AUTOSAR, код, сгенерированный от этого блока, заменяется библиотечной подпрограммой AUTOSAR, которую вы конфигурируете в диалоговом окне параметров блоков.
u1
— Первые входные значения размерностиВходные параметры с действительным знаком к первому порту, сопоставленному с выходным значением путем поиска или интерполяции таблицы значений, которые вы задаете.
Пример: 0:10
Типы данных: single
| double
| int8
| int16
| int32
| uint8
| uint16
| uint32
| fixed point
u2
— Входные значения второго измеренияВходные параметры с действительным знаком к второму порту, сопоставленному с выходным значением путем поиска или интерполяции таблицы значений, которые вы задаете.
Пример: 0:10
Типы данных: single
| double
| int8
| int16
| int32
| uint8
| uint16
| uint32
| fixed point
y
— Выведите вычисленный путем поиска или оценки табличных значенийВыведите сгенерированный путем поиска или оценки табличных значений на основе входных значений. Если входные параметры совпадают со значениями индекса наборов точки останова, блок карты обеспечивает табличное значение, как выведено. Если входные параметры блока не совпадают со значениями индекса в наборах точки останова, но в области значений, блок выполняет сконфигурированный метод интерполяции и вводит ориентировочное значение из таблицы, как выведено.
Типы данных: 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
(значение по умолчанию)Этот параметр отражает, что имя стандартной программы заменяющей библиотеки кода (CRL) AUTOSAR раньше заменяло код, сгенерированный этим блоком. Соглашение о присвоении имен включает целенаправленную стандартную библиотеку, метод интерполяции и тип блока. Этот параметр только для ссылки и не должен быть отредактирован.
Data specification
— Метод таблицы и спецификации точки остановаTable and breakpoints
(значение по умолчанию) | Lookup table object
Из списка выберите:
Table and breakpoints
— Задайте табличные данные и точки останова. Выбирание этой опции включает эти параметры:
Table data
Breakpoints specification
Breakpoints 1
Breakpoints 2
Edit 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
объект.
Чтобы включить этот параметр, установите Data specification на Lookup table object
.
Параметры блоков:
LookupTableObject |
Ввод: символьный вектор |
Значения: имя Simulink.LookupTable объект |
Значение по умолчанию:
'' |
Table data
— Задайте таблицу выходных значений
(значение по умолчанию) | вектор символовВведите таблицу выходных значений.
В процессе моделирования матричный размер должен быть двумерным. Однако во время редактирования блок-схемы, можно ввести пустую матрицу (заданный как []
) или неопределенная переменная рабочей области. Этот метод позволяет вам отложить задавать правильно определенную размеры матрицу для табличных данных и продолжать редактировать блок-схему.
Чтобы включить этот параметр, установите Data specification на Table and breakpoints
.
Параметры блоков:
Table |
Ввод: символьный вектор |
Значения: матрица табличных значений |
Значение по умолчанию:
'[4 5 6;16 19 20;10 18 23]' |
Breakpoints specification
— Метод спецификации точки остановаExplicit values
(значение по умолчанию) | Even spacing
Задайте, ввести ли данные как явные точки останова или как параметры, которые генерируют равномерно распределенные точки останова.
Чтобы явным образом задать данные о точке останова, установите этот параметр на Explicit values
и введите данные о точке останова в текстовое поле рядом с параметрами Breakpoints.
Чтобы задать параметры, которые генерируют равномерно распределенные точки останова, установите этот параметр на Even spacing
и введите значения для First point и параметры Spacing для каждой размерности данных о точке останова. Блок вычисляет число точек, чтобы сгенерировать из табличных данных.
Чтобы включить этот параметр, установите Data specification на Table and breakpoints
.
Параметры блоков:
BreakpointsSpecification |
Ввод: символьный вектор |
Значения:
'Explicit values' | 'Even spacing' |
Значение по умолчанию:
'Explicit values' |
Breakpoints
— Явные значения точки останова, или сначала указывают и интервал точек останова
(значение по умолчанию) | 1 на n или n-by-1 вектор монотонно увеличения значенийЗадайте данные о точке останова явным образом или как равномерно распределенные точки останова, на основе значения параметра Breakpoints specification.
Если вы устанавливаете Breakpoints specification на Explicit values
, введите набор точки останова, который соответствует каждой размерности табличных данных в каждой строке Breakpoints. Для каждой размерности задайте точки останова как 1 на n или n-by-1 вектор, значения которого строго монотонно увеличиваются.
Если вы устанавливаете Breakpoints specification на Even spacing
, введите параметры First point и Spacing в каждой строке Breakpoints, чтобы сгенерировать равномерно распределенные точки останова в соответствующей размерности. Ваши табличные данные определяют количество равномерно разнесенных точек.
Чтобы включить этот параметр, установите Data specification на Table and breakpoints
.
Параметры блоков:
BreakpointsForDimension1 | BreakpointsForDimension2 |
Ввод: символьный вектор |
Значения: 1 на n или n-by-1 вектор монотонно увеличения значений |
Значение по умолчанию:
'[10, 22, 31]' |
First point
— Сначала укажите в равномерно расположенных с интервалами данных о точке останова
(значение по умолчанию) | скалярЗадайте первую точку в своих равномерно расположенных с интервалами данных о точке останова как с действительным знаком, конечное, или скалярный. Этот параметр доступен, когда вы устанавливаете Breakpoints specification на Even spacing
.
Чтобы включить этот параметр, установите Data specification на Table and breakpoints
и Breakpoints specification к Even spacing
.
Параметры блоков:
BreakpointsForDimension1FirstPoint | BreakpointsForDimensionSecondPoint |
Ввод: символьный вектор |
Значения: с действительным знаком, конечный, скалярный |
Значение по умолчанию:
'1' |
Spacing
— Интервал между равномерно расположенными с интервалами точками останова
(значение по умолчанию) | скалярЗадайте интервал между точками в ваших равномерно распределенных данных о точке останова.
Чтобы включить этот параметр, установите Data specification на Table and breakpoints
и Breakpoints specification к Even spacing
.
Параметры блоков:
BreakpointsForDimension1Spacing | BreakpointsForDimension2Spacing |
Ввод: символьный вектор |
Значения: положительный, с действительным знаком, конечный, скалярный |
Значение по умолчанию:
'1' |
Edit table and breakpoints
— Диалоговое окно Launch Lookup Table EditorНажмите эту кнопку, чтобы открыть Редактор Интерполяционной таблицы. Можно затем отредактировать объект и сохранить новые значения для объекта. Для получения дополнительной информации смотрите Интерполяционные таблицы Редактирования в 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
объект задать табличные данные и параметр Breakpoints Specification Simulink.LookupTable
, на который ссылаются, объект установлен в
Even spacing
, установите Index search method на Evenly spaced points
.
Для неравномерно расположенных с интервалами наборов точки останова следуйте этим инструкциям:
Если входные сигналы значительно не варьируются между временными шагами, выбор Linear search
с Begin index search using previous index result производит лучшую эффективность.
Если входные сигналы переходят больше чем один или два табличных интервала на временной шаг, выбор 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 search method на 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
— Режим Rounding для операций фиксированной точки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>
Задайте тип данных table. Блок подтверждает это, выбранные типы совместимы со спецификацией целенаправленной стандартной программы. Можно установить тип данных table на:
Правило, которое наследовало тип данных, например, Inherit: Same as output
Имя встроенного типа данных, например, single
Имя объекта типа данных, например, Simulink.NumericType
объект
Выражение, которое оценивает к типу данных, например, fixdt(1,16,0)
Нажмите кнопку Show data type assistant, чтобы отобразить Data Type Assistant, который помогает вам установить атрибуты типа данных. Для получения дополнительной информации смотрите, Задают Типы данных Используя Ассистент Типа данных.
Совет
Задайте тип данных table, отличающийся от типа выходных данных в этих случаях:
Более низкие требования к памяти для того, чтобы хранить табличные данные, которые используют меньший тип, чем выходной сигнал.
Совместное использование предмасштабированных табличных данных между двумя блоками 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)
Ограничение для использования перечислимых данных с этим блоком - то, что это не поддерживает из области значений введенный для перечислимой даты. Когда определение перечислило данные, включайте целый набор перечисления в набор данных точки останова.
Нажмите кнопку Show data type assistant, чтобы отобразить Data Type Assistant, который помогает вам установить атрибуты типа данных. Для получения дополнительной информации смотрите, Задают Типы данных Используя Ассистент Типа данных.
Параметры блоков:
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' |
Curve | Curve Using Prelookup | Map Using Prelookup | Prelookup
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.