Используйте предварительно вычисленный индекс и дробные значения, чтобы ускорить приближение N-мерной функции
Simulink / Интерполяционные таблицы
Блок Interpolation Using Prelookup является самым эффективным, когда используется с блоком Prelookup. Блок Prelookup вычисляет индекс и часть интервала, которые задают как ее входное значение u
относится к набору данных точки останова. Питайте получившийся индекс и дробные значения в блок Interpolation Using Prelookup, чтобы интерполировать n-мерную таблицу. Эти два блока распределили алгоритмы. Когда объединено вместе, они выполняют ту же операцию как интегрированный алгоритм в n-D блоке Lookup Table. Однако Предварительный поиск и Интерполяция Используя блоки Перед поиском предлагают большую гибкость, которая может обеспечить более эффективную симуляцию и генерацию кода. Для получения дополнительной информации смотрите КПД Эффективности.
Чтобы использовать блок Interpolation Using Prelookup, вы задаете набор табличных значений данных непосредственно на диалоговом окне или значениях канала во входной порт T. Как правило, эти табличные значения соответствуют наборам данных точки останова, заданным в блоках Перед поиском. Блок Interpolation Using Prelookup генерирует выведенный путем поиска или оценки табличных значений на основе индекса и значений части интервала, питаемых от блоков Перед поиском. Метки для индекса и части интервала появляются как k
и f
на значке блока Interpolation Using Prelookup.
Когда входные параметры для индекса и части интервала... | Блок Interpolation Using Prelookup... |
---|---|
Сопоставьте со значениями в наборах данных точки останова | Выводит табличное значение на пересечении строки, столбца и более высоких точек останова размерности |
Не сопоставляйте со значениями в наборах данных точки останова, но в области значений | Интерполирует соответствующие табличные значения с помощью Interpolation method, который вы выбираете |
Не сопоставляйте со значениями в наборах данных точки останова, и вне области значений | Экстраполирует выходное значение с помощью Extrapolation method, который вы выбираете |
Можно использовать параметр Number of sub-table selection dimensions, чтобы указать, что интерполяция происходит только на подмножестве табличных данных. Чтобы активировать этот режим интерполяции, установите этот параметр на положительное целое число. Это значение задает количество размерностей, чтобы выбрать, начинающий с самой высокой размерности табличных данных для упорядоченного по столбцам алгоритма по умолчанию. Поэтому значение должно быть меньше чем или равно Number of table dimensions.
Для упорядоченных по строкам алгоритмов интерполяция начинает с первой или самой низкой размерности табличных данных.
Для ненулевых значений подтабличное поведение выбора оптимизировано для упорядоченного по строкам размещения, когда вы выбираете Math and Data Types> параметр конфигурации Use algorithms optimized for row-major array layout.
Предположим, что у вас есть 3-D табличные данные в вашем блоке Interpolation Using Prelookup. Это поведение запрашивает упорядоченный по столбцам алгоритм.
Количество размерностей выбора | Действие блоком | Блокируйте внешний вид |
---|---|---|
0 | Интерполирует целую таблицу и не активирует подтабличный выбор | Не изменяется |
1 | Интерполирует первые две размерности и выбирает третью размерность | Отображает входной порт с меткой s3 то, что вы используете, чтобы выбрать и интерполировать 2D таблицы |
2 | Интерполирует первую размерность и выбирает вторые и третьи размерности | Отображения два входных порта с маркируют s2 и s3 то, что вы используете, чтобы выбрать и интерполировать 1D таблицы |
Подтабличный выбор использует основанную на нуле индексацию. Для примера интерполяции подмножества табличных данных введите sldemo_bpcheck
в командной строке MATLAB®.
Для 2D или n-D интерполяции без подтабличного выбора упорядоченные по столбцам и упорядоченные по строкам алгоритмы могут отличаться по порядку выходных вычислений, вызывая небольшие различные числовые результаты.
k1
— Индекс, k
, для первой размерности таблицыОснованный на нуле индекс, k
, определение интервала, содержащего вход u
для первой размерности таблицы.
Типы данных: single
| double
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
| fixed point
f1
— Часть, f
, для первой размерности таблицыЧасть, f
, представляя нормированное положение входа в интервале, k
, для первой размерности таблицы.
Типы данных: single
| double
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
| fixed point
kn
— Индекс, k
, для n
- размерность th таблицыОснованный на нуле индекс, k
, определение интервала, содержащего вход u
для n
- размерность th таблицы.
Типы данных: single
| double
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
| fixed point
fn
— Часть, f
, для n
- размерность th таблицыЧасть, f
, представляя нормированное положение входа в интервале, k
, для n
- размерность th таблицы.
Типы данных: single
| double
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
| fixed point
kf1
— Введите содержащий индекс k
и дробный f
bus object
Входные параметры к порту kf1 содержат, индексируют k
и дробный f
заданный как объект шины.
Чтобы включить этот порт, установите флажок Require index and fraction as a bus.
Количество доступного kf
входные порты зависят от значения параметров Number of sub-table selection dimensions и Number of dimensions.
Типы данных: single
| double
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
| fixed point
| bus
kfn
— Введите содержащий индекс k
и дробный f
bus object
Входные параметры к порту kfn содержат, индексируют k
и дробный f
для энной размерности входа в виде объекта шины.
Чтобы включить этот порт, установите флажок Require index and fraction as a bus.
Количество доступных входных портов kf зависит от значения параметров Number of sub-table selection dimensions и Number of dimensions.
Типы данных: single
| double
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
| fixed point
| bus
sm
— Выберите и интерполируйте подмножество табличных данныхДля упорядоченного по столбцам алгоритма блок использует входные параметры для sm, sm+1... sn порт, чтобы выполнить выбор и интерполяцию в рамках подтаблиц. m
карты к m th размерность таблицы. n равняется Number of dimensions.
Для упорядоченного по строкам алгоритма блок использует входные параметры для s1, s2..., sm порт, чтобы выполнить выбор и интерполяцию в рамках подтаблиц. m
карты к m th размерность таблицы. m равняется Number of sub-table selection dimensions.
Чтобы включить этот порт, Number of sub-table selection dimensions должен быть положительным целым числом, меньше чем или равным Number of dimensions.
Типы данных: single
| double
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
| Boolean
| fixed point
| enumerated
| bus
T
Табличные данныеТабличные значения данных, предоставленные, как введено порту T. Как правило, эти табличные значения соответствуют наборам данных точки останова, заданным в блоках Перед поиском. Блок Interpolation Using Prelookup генерирует выведенный путем поиска или оценки табличных значений на основе индекса (k
) и часть интервала (f
) значения питаются от блоков Перед поиском.
Чтобы включить этот порт, установите Source на Input port
.
Типы данных: single
| double
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
| fixed point
Port_1
— Приближение N-мерной функцииПриближение N-мерной функции, вычисленной путем интерполяции (или экстраполирования) табличные данные с помощью значений от входного индекса, k
, и часть, f
.
Типы данных: single
| double
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
| fixed point
Number of dimensions
— Количество табличных размерностей данных
(значение по умолчанию) | целое число между 1 и 30Задайте количество размерностей, которые должны иметь табличные данные. Number of dimensions задает количество независимых переменных для таблицы.
Задавать... | Сделайте это... |
---|---|
1, 2, 3, или 4 |
Выберите значение из выпадающего списка. |
Более высокое количество табличных размерностей |
Введите положительное целое число непосредственно в поле. Максимальное количество табличных размерностей, которые поддерживает этот блок, равняется 30. |
Параметры блоков:
NumberOfTableDimensions |
Ввод: символьный вектор |
Значения:
'1' | '2' | '3' |'4' | ... | '30' |
Значение по умолчанию:
'2' |
Require index and fraction as bus
— Индексируйте и фракционируйтесь, входные параметры могут быть объединены в шинеoff
(значение по умолчанию) | on
Установите этот флажок, чтобы объединить индекс и дробные входные параметры в шине.
Чтобы позволить блоку Prelookup подать входной сигнал с блоком Interpolation Using Prelookup, установите:
Output selection к Index and fraction as bus
Output к Bus: <object name>
, где <object name>
должно быть допустимое имя объекта шины, доступное для модели
Независимо от этой установки флажка порт выбора всегда действует в режиме нешины.
Параметры блоков:
RequireIndexFractionAsBus |
Ввод: символьный вектор |
Значения:
'off' | 'on' |
Значение по умолчанию:
'off' |
Specification
— Выберите, как ввести табличные данныеExplicit values
(значение по умолчанию) | Lookup table object
Задайте, ввести ли табличные данные непосредственно или использовать объект интерполяционной таблицы. Если вы устанавливаете этот параметр на:
Explicit values
, Source и параметры Value отображаются на диалоговом окне.
Lookup table object
, параметр Name отображается на диалоговом окне.
Параметры блоков:
TableSpecification |
Ввод: символьный вектор |
Значения:
'Explicit values' | 'Lookup table object' |
Значение по умолчанию:
'Explicit values' |
Source
— Источник табличных данныхDialog
(значение по умолчанию) | Input port
Задайте, ввести ли табличные данные в диалоговое окно или наследовать данные из входного порта. Если вы устанавливаете Source на:
Dialog
, введите табличные данные в текстовое поле под Value
Input port
, проверьте, что восходящий сигнал снабжает табличными данными к табличному входному порту
Чтобы включить этот параметр, установите Specification на Explicit values
.
Параметры блоков:
TableSource |
Ввод: символьный вектор |
Значения:
'Dialog' | 'Input port' |
Значение по умолчанию:
'Dialog' |
Value
— Задайте табличные значения данныхsqrt([1:11]' * [1:11])
(значение по умолчанию) | многомерный массив табличных данныхЗадайте табличные данные как N
- D массив, где N
значение параметра Number of dimensions. Можно отредактировать блок-схему, не задавая правильно определенную размеры матрицу путем ввода пустой матрицы ([]
) или неопределенная переменная рабочей области в поле редактирования Value. Для получения информации о том, как создать многомерные массивы в MATLAB, смотрите Многомерные массивы.
Если вы устанавливаете Source на Input port
, проверьте, что восходящий сигнал снабжает табличными данными к входному порту T. Размер табличных данных должен совпадать с Number of table dimensions. Для этой опции блок наследовал табличные атрибуты от входного порта T.
Чтобы отредактировать интерполяционные таблицы с помощью Редактора Интерполяционной таблицы, нажмите Edit (см. Интерполяционные таблицы Редактирования).
Чтобы включить этот параметр и явным образом задать табличные значения на диалоговом окне, необходимо установить Specification на Explicit values
и Source к Dialog
.
Параметры блоков:
Table |
Ввод: символьный вектор |
Значения:
scalar, vector, matrix, or N-D array |
Значение по умолчанию:
'sqrt([1:11]' * [1:11])' |
Name
— Имя Simulink.LookupTable
объектSimulink.LookupTable object
Задайте имя Simulink.LookupTable
объект. Интерполяционная таблица ссылки на объект объекты точки останова Simulink®. Если Simulink.LookupTable
объект не существует, кликает по кнопке действий и выбирает Create. Соответствующие параметры нового объекта интерполяционной таблицы автоматически заполняются с информацией о блоке.
Чтобы включить этот параметр, установите Specification на Lookup table object
.
Параметры блоков:
LookupTableObject |
Ввод: символьный вектор |
Значение:
Simulink.LookupTable object |
Значение по умолчанию:
'' |
Interpolation method
— Выберите Linear point-slope
, Flat
самый близкий
, или Linear Lagrange
Linear point-slope
(значение по умолчанию) | Nearest
| Flat
| Linear Lagrange
Задайте метод использование блока, чтобы интерполировать табличные данные. Можно выбрать Linear point-slope
, Flat
самый близкий
, или Linear Lagrange
. Смотрите Методы интерполяции для получения дополнительной информации.
Параметры блоков:
InterpMethod |
Ввод: символьный вектор |
Значения:
'Flat' | 'Linear point-slope' | 'Nearest' | 'Linear Lagrange' |
Значение по умолчанию:
'Linear point-slope' |
Extrapolation method
— Метод обработки ввел, который выходит за пределы области значений набора данных точки остановаLinear
(значение по умолчанию) | Clip
Задайте метод использование блока, чтобы экстраполировать значения для всех входных параметров, которые выходят за пределы области значений набора данных точки останова. Можно выбрать Clip
или Linear
. См. Методы Экстраполяции для получения дополнительной информации.
Если методом экстраполяции является Linear
, значение экстраполяции вычисляется на основе выбранного метода линейной интерполяции. Например, если методом интерполяции является Линейный Лагранж, метод экстраполяции наследовал Линейное Лагранжево уравнение, чтобы вычислить экстраполируемое значение.
Чтобы включить параметр Extrapolation method, установите Interpolation method на Linear
.
Блок Interpolation Using Prelookup не поддерживает Linear
экстраполяция, когда сигналы ввода или вывода задают целое число или типы данных с фиксированной точкой.
Параметры блоков:
ExtrapMethod |
Ввод: символьный вектор |
Значения:
'Clip' | 'Linear' |
Значение по умолчанию:
'Linear' |
Valid index input may reach last index
— Позвольте входным параметрам получать доступ к последним элементам табличных данныхoff
(значение по умолчанию) | on
Задайте, как блок вводит для индекса (k
) и часть интервала (f
) получите доступ к последним элементам n-мерных табличных данных. Значения индекса являются базирующимся нулем.
Этот флажок релевантен, если входной индекс равен или больше, чем последний индекс таблицы для той размерности. Из-за округления, выбор и снятие этого флажка могут привести к отличающимся результатам для последнего индекса между симуляцией и генерацией кода.
Флажок | Блокируйте поведение |
---|---|
|
Возвращает значение последнего элемента в размерности его таблицы когда:
|
|
Возвращает значение последнего элемента в размерности его таблицы когда:
|
Этот флажок отображается только когда:
Interpolation method является Linear point-slope
или Linear Lagrange
Extrapolation method является Clip
Совет
Когда вы выбираете Valid index input may reach last index для блока Interpolation Using Prelookup, необходимо также выбрать Use last breakpoint for input at or above upper limit для всех блоков Prelookup, которые питают его. Это действие позволяет блокам использовать то же соглашение индексации при доступе к последним элементам их точки останова и табличных наборов данных.
Параметры блоков:
ValidIndexMayReachLast |
Ввод: символьный вектор |
Значения:
'off' | 'on' |
Значение по умолчанию:
'off' |
Diagnostic for out-of-range input
— Блокируйте действие, когда введенный будет вне области значенийNone
(значение по умолчанию) | Warning
| Error
Задайте, произвести ли предупреждение или ошибку, когда вход вне области значений. Опции включают:
None
— Не произведите ответ.
Warning
— Выведите предупреждение и продолжите симуляцию.
Error
— Отключите симуляцию и отобразите ошибку.
Параметры блоков: DiagnosticForOutOfRangeInput |
Ввод: символьный вектор |
Значения: 'None' | 'Warning' | 'Error' |
Значение по умолчанию: 'None' |
Number of sub-table selection dimensions
— Количество размерностей выходной подтаблицы расчета
(значение по умолчанию) | положительное целое число, меньше чем или равное количеству табличных размерностейЗадайте количество размерностей подтаблицы, что блок используется для расчета выхода. Следуйте этим правилам:
Чтобы включить подтабличный выбор, введите положительное целое число.
Это целое число должно быть меньше чем или равно Number of table dimensions.
Чтобы отключить подтабличный выбор, введите 0
интерполировать целую таблицу.
Для ненулевых значений подтабличное поведение выбора оптимизировано для упорядоченного по строкам размещения, когда вы выбираете Math and Data Types> параметр конфигурации Use algorithms optimized for row-major array layout.
Для получения дополнительной информации смотрите, Как Блок Интерполирует Подмножество Табличных Данных.
Параметры блоков:
NumSelectionDims |
Ввод: символьный вектор |
Значения:
'0' | '1' | '2' | '3' | '4' | ... | Number of table dimensions |
Значение по умолчанию:
'0' |
Remove protection against out-of-range index in generated code
— Удалите код, который проверяет на входные параметры индекса из области значенийoff
(значение по умолчанию) | on
Флажок | Результат | Когда использовать |
---|---|---|
| Сгенерированный код не включает условные операторы, чтобы проверять на входные параметры индекса из области значений. Когда вход |
Для КПД кода |
|
Сгенерированный код включает условные операторы, чтобы проверять на входные параметры индекса из области значений. |
Для важных приложений безопасности |
Если ваш вход не вне области значений, можно установить флажок Remove protection against out-of-range index in generated code для КПД кода. По умолчанию этот флажок снимается. Для важных приложений безопасности не устанавливайте этот флажок. Если вы хотите установить флажок Remove protection against out-of-range index in generated code, сначала проверяйте, что ваши входные параметры модели находятся в области значений. Например:
Снимите флажок Remove protection against out-of-range index in generated code.
Установите параметр Diagnostic for out-of-range input на Error
.
Симулируйте модель в режиме normal mode.
Если существуют ошибки из области значений, фиксируют их, чтобы быть в области значений и запустить симуляцию снова.
Когда симуляция больше не сгенерирует из области значений входные ошибки, установите флажок Remove protection against out-of-range index in generated code.
Примечание
Когда вы устанавливаете флажок Remove protection against out-of-range index in generated code и вход k
или f
вне области значений, поведение не определено для сгенерированного кода.
В зависимости от вашего приложения можно осуществить следующие проверки Model Advisor, чтобы проверить использование этого флажка:
By Product> Embedded Coder> Identify lookup table blocks that generate expensive out-of-range checking code
By Product> Simulink Check> Modeling Standards> DO-178C/DO-331 Checks> Check usage of lookup table blocks
Для получения дополнительной информации о Model Advisor, смотрите Осуществленные Проверки Model Advisor.
Кроме того, чтобы определить, безопасно ли установить этот флажок, если у вас есть лицензия Simulink Design Verifier™, рассматривают использование Обнаружить Нарушений Входного диапазона Блока (Simulink Design Verifier) проверка.
Этот флажок не оказывает влияния на сгенерированный код, когда одно из следующего верно:
Блок Prelookup кормит значениями индекса блок Interpolation Using Prelookup.
Поскольку значения индекса от блока Prelookup всегда допустимы, никакой контрольный код не необходим.
Тип данных входа k
ограничивает данные допустимыми значениями индекса.
Например, типы данных беззнаковых целых чисел гарантируют неотрицательные значения индекса. Поэтому входные значения без знака k
не требуйте контрольного кода для отрицательных величин.
Параметры блоков:
RemoveProtectionIndex |
Ввод: символьный вектор |
Значения:
'off' | 'on' |
Значение по умолчанию:
'off' |
Sample time
— Задайте шаг расчета как значение кроме -1
(значение по умолчанию) | скаляр | векторЗадайте шаг расчета как значение кроме-1. Для получения дополнительной информации см. Настройку времени выборки.
Этот параметр не отображается, если он явным образом не установлен в значение кроме -1
. Чтобы узнать больше, смотрите Блоки, для Которых Не Рекомендуется Шаг расчета.
Параметры блоков:
SampleTime |
Ввод: символьный вектор |
Значения: скаляр или вектор |
Значение по умолчанию:
'-1' |
Table data
— Тип данных табличных значенийInherit: Same as output
(значение по умолчанию) | Inherit: Inherit from 'Table data'
| double
| single
| int8
| uint8
| int16
| uint16
| int32
| uint32
| int64
| uint64
| fixdt(1,16)
| fixdt(1,16,0)
| fixdt(1,16,2^0,0)
| <data type expression>
Задайте тип данных table. Можно установить его на:
Правило, которое наследовало тип данных, например, Inherit: Same as output
Имя встроенного типа данных, например, single
Имя объекта типа данных, например, Simulink.NumericType
объект
Выражение, которое оценивает к типу данных, например, fixdt(1,16,0)
Нажмите кнопку Show data type assistant, чтобы отобразить Data Type Assistant, который помогает вам установить тип данных table.
Совет
Задайте тип данных table, отличающийся от типа выходных данных для этих случаев:
Более низкие требования к памяти для того, чтобы хранить табличные данные, которые используют меньший тип, чем выходной сигнал
Совместное использование предмасштабированных табличных данных между двумя блоками Interpolation Using Prelookup с различными типами выходных данных
Совместное использование пользовательских данных о столе с возможностью хранения в сгенерированном коде Simulink Coder™ для блоков с различными типами выходных данных
Параметры блоков:
TableDataTypeStr |
Ввод: символьный вектор |
Значения:
'Inherit: Inherit from table data' | 'Inherit: Same as output' | 'double' | 'single' | 'int8' | 'uint8' | 'int16' | 'uint16' | 'int32' | 'uint32' | 'int64' | 'uint64' | 'fixdt(1,16)' | 'fixdt(1,16,0)' | 'fixdt(1,16,2^0,0)' | '<data type expression>' |
Значение по умолчанию:
'Inherit: Same as input' |
Table minimum
— Минимальное значение табличных данных[]
(значение по умолчанию) | скалярЗадайте минимальное значение для табличных данных как конечное, действительное, дважды, скалярное. Значением по умолчанию является []
(незаданный).
Параметры блоков:
TableMin |
Ввод: символьный вектор |
Значения: скаляр |
Значение по умолчанию:
'[]' |
Table maximum
— Максимальное значение табличных данных[]
(значение по умолчанию) | скалярЗадайте максимальное значение для табличных данных как конечное, действительное, дважды, скалярное. Значением по умолчанию является []
(незаданный).
Параметры блоков:
TableMax |
Ввод: символьный вектор |
Значения: скаляр |
Значение по умолчанию:
'[]' |
Intermediate results
— Тип данных промежуточных результатовInherit: Inherit via internal rule
(значение по умолчанию) | Inherit: Same as output
| double
| single
| int8
| uint8
| int16
| uint16
| int32
| uint32
| int64
| uint64
| 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)
Нажмите кнопку Show data type assistant, чтобы отобразить Data Type Assistant, который помогает вам установить атрибуты типа данных. Для получения дополнительной информации смотрите, Задают Типы данных Используя Ассистент Типа данных.
Совет
Используйте этот параметр, чтобы задать более высокую точность для внутренних расчетов, чем для табличных данных или выходных данных.
Параметры блоков:
IntermediateResultsDataTypeStr |
Ввод: символьный вектор |
Значения:
'Inherit: Inherit via internal rule' | 'Inherit: Same as output' | 'double' | 'single' | 'int8' | 'uint8' | 'int16' | 'uint16' | 'int32' | 'uint32' | 'int64' | 'uint64' | 'fixdt(1,16)' | 'fixdt(1,16,0)' | 'fixdt(1,16,2^0,0)' | '<data type expression>' |
Значение по умолчанию:
'Inherit: Same as input' |
Output
— Тип выходных данныхInherit: Inherit from 'Table data'
(значение по умолчанию) | Inherit: Inherit via back propagation
| double
| single
| int8
| uint8
| int16
| uint16
| int32
| uint32
| int64
| uint64
| fixdt(1,16)
| fixdt(1,16,0)
| fixdt(1,16,2^0,0)
| <data type expression>
Задайте тип выходных данных. Можно установить его на:
Правило, которое наследовало тип данных, например, Inherit: Inherit via back propagation
Имя встроенного типа данных, например, single
Имя объекта типа данных, например, Simulink.NumericType
объект
Выражение, которое оценивает к типу данных, например, fixdt(1,16,0)
Нажмите кнопку Show data type assistant, чтобы отобразить Data Type Assistant, который помогает вам установить тип выходных данных.
Смотрите Типы данных Управляющего сигнала для получения дополнительной информации.
Параметры блоков:
OutDataTypeStr |
Ввод: символьный вектор |
Значения:
'Inherit: Inherit via back propagation' | 'Inherit: Inherit from table data' | 'double' | 'single' | 'int8' | 'uint8' | 'int16' | 'uint16' | 'int32' | 'uint32' | 'int64' | 'uint64' | 'fixdt(1,16,0)' | 'fixdt(1,16,2^0,0)' | 'fixdt(1,16,2^0,0)' | '<data type expression>' |
Значение по умолчанию:
'Inherit: Inherit from table data' |
Output minimum
— Минимальное значение блок может вывести[]
(значение по умолчанию) | скалярЗадайте минимальное значение, которое блок должен вывести как конечный, скаляр с действительным знаком. Значением по умолчанию является []
(незаданный). Программное обеспечение Simulink использует это значение, чтобы выполнить:
Проверка диапазона параметра (см., Задает Минимальные и Максимальные значения для Параметров блоков).
Проверка диапазона симуляции (см., Указывает Диапазоны сигнала).
Автоматическое масштабирование типов данных с фиксированной точкой.
Оптимизация кода, который вы генерируете из модели. Эта оптимизация может удалить алгоритмический код и влиять на результаты некоторых режимов симуляции, такие как SIL или режим external mode. Для получения дополнительной информации смотрите, Оптимизируют использование заданных минимальных и максимальных значений (Embedded Coder).
Параметры блоков:
OutMin |
Ввод: символьный вектор |
Значения: скаляр |
Значение по умолчанию:
'[]' |
Output maximum
— Максимальное значение блок может вывести[]
(значение по умолчанию) | скалярЗадайте максимальное значение, которое блок должен вывести как конечный, скаляр с действительным знаком. Значением по умолчанию является []
(незаданный). Программное обеспечение Simulink использует это значение, чтобы выполнить:
Проверка диапазона параметра (см., Задает Минимальные и Максимальные значения для Параметров блоков).
Проверка диапазона симуляции (см., Указывает Диапазоны сигнала).
Автоматическое масштабирование типов данных с фиксированной точкой.
Оптимизация кода, который вы генерируете из модели. Эта оптимизация может удалить алгоритмический код и влиять на результаты некоторых режимов симуляции, такие как SIL или режим external mode. Для получения дополнительной информации смотрите, Оптимизируют использование заданных минимальных и максимальных значений (Embedded Coder).
Параметры блоков:
OutMax |
Ввод: символьный вектор |
Значения: скаляр |
Значение по умолчанию:
'[]' |
Internal rule priority
— Внутреннее правило для промежуточных вычисленийSpeed
(значение по умолчанию) | Precision
Задайте внутреннее правило для промежуточных вычислений. Выберите Speed
для более быстрых вычислений. Если вы делаете, потеря точности может произойти, обычно до 2 битов.
Параметры блоков:
InternalRulePriority |
Ввод: символьный вектор |
Значения:
'Speed' | 'Precision' |
Значение по умолчанию:
'Speed' |
Lock data type settings against changes by the fixed-point tools
— Препятствуйте тому, чтобы Fixed-Point Tool заменили типы данныхoff
(значение по умолчанию) | on
Выберите этот параметр, чтобы препятствовать тому, чтобы Fixed-Point Tool заменили типы данных, которые вы задаете на этом блоке. Для получения дополнительной информации смотрите Блокировку Установка Типа Выходных данных (Fixed-Point Designer).
Параметры блоков: LockScale |
Ввод: символьный вектор |
Значения: 'off' | 'on' |
Значение по умолчанию: 'off' |
Integer rounding mode
— Режим Rounding для операций фиксированной точкиFloor
(значение по умолчанию) | Convergent
| Ceiling
| Nearest
| Round
| Simplest
| Zero
Задайте округляющийся режим для операций фиксированной точки. Для получения дополнительной информации смотрите Округление (Fixed-Point Designer).
Параметры блоков всегда вокруг к самому близкому представимому значению. Чтобы управлять округлением параметров блоков, введите выражение с помощью функции округления MATLAB в поле маски.
Параметры блоков:
RndMeth |
Ввод: символьный вектор |
Значения:
'Ceiling' | 'Convergent' | 'Floor' | 'Nearest' | 'Round' | 'Simplest' | 'Zero' |
Значение по умолчанию:
'Floor' |
Saturate on integer overflow
— Метод действия переполненияoff
(значение по умолчанию) | on
Задайте, насыщает ли переполнение или переносится.
Действие | Объяснение | Повлияйте на переполнение | Пример |
---|---|---|---|
Установите этот флажок ( |
Ваша модель имеет возможное переполнение, и вы хотите явную защиту насыщения в сгенерированном коде. |
Переполнение насыщает или к минимальному или к максимальному значению, которое может представлять тип данных. |
Максимальное значение, что |
Не устанавливайте этот флажок ( |
Вы хотите оптимизировать КПД своего сгенерированного кода. Вы не хотите чрезмерно определять, как блок обрабатывает сигналы из области значений. Для получения дополнительной информации смотрите Ошибки Диапазона сигнала Поиска и устранения неисправностей. |
Переполнение переносится к соответствующему значению, которое является представимым, по условию вводят. |
Максимальное значение, что |
Когда вы устанавливаете этот флажок, насыщение применяется к каждой внутренней операции на блоке, не только выходу или результату. Обычно, процесс генерации кода может обнаружить, когда переполнение не возможно. В этом случае генератор кода не производит код насыщения.
Параметры блоков: SaturateOnIntegerOverflow |
Ввод: символьный вектор |
Значения:
'off' | 'on' |
Значение по умолчанию: 'off' |
Типы данных |
|
Прямое сквозное соединение |
|
Многомерные сигналы |
|
Сигналы переменного размера |
|
Обнаружение пересечения нулем |
|
Simulink PLC Coder™ ограничил поддержку блоков интерполяционной таблицы. Кодер не поддерживает:
Количество размерностей, больше, чем 2
Метод интерполяции кубическим сплайном
Начните поиск по индексу с помощью предыдущего режима индексации
Кубический метод экстраполяции сплайна
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.