Используйте предварительно вычисленные значения индекса и дроби, чтобы ускорить приближение N-мерной функции
Simulink/Интерполяционные таблицы
Блок Интерполяция с использованием Prelookup наиболее эффективен при использовании с блоком Prelookup. Блок Prelookup вычисляет индекс и интервальную дробь, которые определяют, как его входное значение u
относится к набору данных точек по оси Х. Передайте получившиеся значения индекса и дроби в блок Interpolation Using Prelookup, чтобы интерполировать n-мерную таблицу. Эти два блока имеют распределенные алгоритмы. При объединении вместе они выполняют ту же операцию, что и интегрированный алгоритм в блоке n-D Интерполяционная таблица. Однако блоки Prelookup и Interpolation Using Prelookup обеспечивают большую гибкость, которая может обеспечить более эффективную симуляцию и генерацию кода. Для получения дополнительной информации смотрите Эффективность производительности.
Чтобы использовать блок Интерполяция с использованием Prelookup, вы задаете набор значений данных таблицы непосредственно в диалоговом окне или вводите значения в T входной порт. Как правило, эти значения таблицы соответствуют наборам данных точек по оси Х, заданным в блоках Prelookup. Блок Interpolation Using Prelookup генерирует вывод путем просмотра или оценки значений таблицы на основе значений индекса и интервальной дроби, подаваемых из блоков Prelookup. Метки для индекса и интервальной дроби появляются следующим k
и f
на значке Интерполяция с использованием блока Prelookup.
Когда входы для индекса и интервальной дроби... | Интерполяция с использованием блока 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 который используется для выбора и интерполяции таблиц 2-D |
2 | Интерполирует первую размерность и выбирает вторые и третьи размерности | Отображает два входных порта с метками s2 и s3 который используется для выбора и интерполяции таблиц 1-D |
При выборе подтаблицы используется нулевая индексация. Для примера интерполяции подмножества данных таблицы введите sldemo_bpcheck
в MATLAB® командная строка.
Для 2-D или 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
-е размерность таблицыНулевой индекс, k
, задающий интервал, содержащий вход u
для n
-е размерность таблицы.
Типы данных: single
| double
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
| fixed point
fn
- Дробь, f
, для n
-е размерность таблицыДробь, f
, представляющий нормированное положение входа в интервале, k
, для n
-е размерность таблицы.
Типы данных: 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 dimensions и Number of sub-table selection dimensions.
Типы данных: single
| double
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
| fixed point
| bus
kfn
- Вход, содержащий индексные k
и дробные f
bus object
Входы к порту kfn содержат индексные k
и дробные f
для n-го размерности входа, заданного как объект шины.
Чтобы включить этот порт, установите флажок Require index and fraction as a bus.
Количество доступных kf входных портов зависит от значения параметров Number of dimensions и Number of sub-table selection dimensions.
Типы данных: single
| double
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
| fixed point
| bus
sm
- Выбор и интерполяция подмножества данных таблицыДля алгоритма большого столбца, блок использует входы к s m, s m + 1,... s n порт для выполнения выбора и интерполяции в подтаблицах. m
карты к mth размерность таблицы. n равен Number of dimensions.
Для алгоритма основной строки, блок использует входы для порта s1, s2,..., s m, чтобы выполнить выбор и интерполяцию в подтаблицах. m
карты к mth размерность таблицы. 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 порта. Как правило, эти значения таблицы соответствуют наборам данных точек по оси Х, заданным в блоках Prelookup. Блок Интерполяция с использованием Prelookup генерирует вывод, просматривая или оценивая значения таблицы на основе индекса (k
) и интервальную дробь (f
) значения, подаваемые из блоков Prelookup.
Чтобы включить этот порт, установите 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
- Количество размерностей табличных данных2
(по умолчанию) | целое число от 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® объекты точек по оси Х. Если a Simulink.LookupTable
объект не существует, нажмите кнопку действия и выберите Create. Соответствующие параметры объекта новой интерполяционной таблицы автоматически заполняются информацией о блоках.
Чтобы включить этот параметр, установите Specification равным Lookup table object
.
Параметры блоков:
LookupTableObject |
Тип: Вектор символов |
Значение:
Simulink.LookupTable object |
По умолчанию:
'' |
Interpolation method
- Выбор Linear point-slope
, Flat
, Nearest
, или Linear Lagrange
Linear point-slope
(по умолчанию) | Nearest
| Flat
| Linear Lagrange
Укажите метод, который блок использует для интерполяции данных таблицы. Можно выбрать Linear point-slope
, Flat
, Nearest
, или 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
.
Интерполяция с использованием блока 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
- Количество размерностей в выходной подтаблице расчетов0
(по умолчанию) | положительное целое число, меньше или равное количеству размерностей в таблицеЗадайте количество размерностей в подтаблице, которое блок использует для вычисления выхода. Следуйте следующим правилам:
Чтобы включить выбор подтаблицы, введите положительное целое число.
Это целое число должно быть меньше или равно 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).
Этот флажок не влияет на сгенерированный код, когда одно из следующих значений соответствует true:
Блок Prelookup передает значения индекса в блок Interpolation Using Prelookup.
Поскольку значения индекса из блока Prelookup всегда действительны, проверка кода не необходима.
Тип данных входов k
ограничивает данные допустимыми значениями индекса.
Для примера беззнаковые целочисленные типы данных гарантируют неотрицательные значения индекса. Поэтому неподписанные входные значения k
не требуется проверка кода для отрицательных значений.
Параметры блоков:
RemoveProtectionIndex |
Тип: Вектор символов |
Значения:
'off' | 'on' |
По умолчанию:
'off' |
Sample time
- Задайте время расчета как значение, отличное от -1
-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>
Задайте тип данных таблицы. Вы можете установить его на:
Правило, которое наследует тип данных, например Inherit: Same as output
Имя встроенного типа данных, например single
Имя объекта типа данных, например, Simulink.NumericType
объект
Выражение, которое вычисляется как тип данных, например fixdt(1,16,0)
Нажмите кнопку Show data type assistant, чтобы отобразить Data Type Assistant, который помогает вам задать тип данных таблицы.
Совет
Задайте тип данных таблицы, отличный от типа выходных данных для этих случаев:
Более низкие требования к памяти для хранения данных таблицы, которая использует меньший тип, чем выходной сигнал
Совместное использование предварительных данных таблицы между двумя блоками 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, которая помогает вам задать атрибуты type данных. Для получения дополнительной информации смотрите Задать типы данных Используя 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
- Предотвратить переопределение типов данных инструментами с фиксированной точкойoff
(по умолчанию) | on
Выберите этот параметр, чтобы предотвратить переопределение инструментами с фиксированной точкой типов данных, заданных в этом блоке. Для получения дополнительной информации смотрите Блокировка настройки типа выходных данных (Fixed-Point Designer).
Параметры блоков: LockScale |
Тип: Вектор символов |
Значения: 'off' | 'on' |
По умолчанию: 'off' |
Integer rounding mode
- Режим округления для операций с фиксированной точкой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. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.