| Идентификатор: Заголовок | hisl_0016: Использование блоков, которые вычисляют реляционные операторы | ||
|---|---|---|---|
| Описание | Чтобы поддержать робастность операций, при использовании блоков, которые вычисляют реляционные операторы, включая Relational Operator, Compare To Constant, Compare To Zero, Sign, Detect Change и блоки If: | ||
| A | Избегайте сравнений с помощью == или ~= оператор для типов данных с плавающей точкой. | ||
| Примечания | Из-за проблем с точностью с плавающей точностью не проверяйте выражения с плавающей точкой на равенство ( Когда модель содержит блок, вычисляющий реляционный оператор со | ||
| Объяснение | A | Улучшите робастность модели. | |
| Проверки Model Advisor | Проверяйте на наличие блоков реляционных операторов, которые приравнивают типы с плавающей точкой (Simulink Check) | ||
| Ссылки |
| ||
| См. также | hisl_0017: Использование блоков, которые вычисляют реляционные операторы (2) himl_0009: код MATLAB с равными/не равными реляционными операторами | ||
| Последнее изменение | R2021a | ||
| Примеры | Положительный шаблон: Чтобы проверить, равны ли две переменные с плавающей точкой или выражения, сравните различие двух переменных с порогом, который учитывает относительную точность с плавающей точкой ( Следующий шаблон показывает, как протестировать два входных сигналов двойной точности,
| ||
| Идентификатор: Заголовок | hisl_0017: Использование блоков, которые вычисляют реляционные операторы (2) | ||
|---|---|---|---|
| Описание | Чтобы поддержать однозначное поведение в сгенерированном коде, при использовании блоков, которые вычисляют реляционные операторы, включая Relational Operator, Compare To Constant, Compare to Zero и Detect Change | ||
| A | Установите параметры блоков Output data type в Boolean. | ||
| B | Для блоков Relational Operator проверьте, что входные сигналы имеют совпадающий тип данных. | ||
| Объяснение | A, B | Поддержка генерации кода, который производит однозначное поведение. | |
| Проверки Model Advisor | Проверяйте использование блоков реляционных операторов (Simulink Check) | ||
| Ссылки |
| ||
| См. также | hisl_0016: Использование блоков, которые вычисляют реляционные операторы | ||
| Последнее изменение | R2018a | ||
| Идентификатор: Заголовок | hisl_0018: Использование блока Логического Оператора | ||
|---|---|---|---|
| Описание | Чтобы поддержать однозначное поведение сгенерированного кода, при использовании блока Logical Operator, | ||
| A | Установите параметры блоков Output data type в | ||
| B | Убедитесь, что входные сигналы имеют тип | ||
| Необходимые условия | |||
| Объяснение | A, B | Избегайте неоднозначного поведения сгенерированного кода. | |
| Проверки Model Advisor | Проверяйте использование блоков логического оператора (Simulink Check) | ||
| Ссылки |
| ||
| Последнее изменение | R2017b | ||
| Идентификатор: Заголовок | hisl_0019: Использование побитовых операций | ||
|---|---|---|---|
| Описание | Чтобы поддержать однозначное поведение, при использовании побитовых операций в блоках Simulink, | ||
| A | Избегайте типов данных со знаком в качестве входных данных для блока. | ||
| Примечания | Побитовые операции с типами данных со знаком не являются значимыми. Если операция сдвига перемещает бит со знаком в числовой бит или числовой бит в бит со знаком, может возникнуть непредсказуемое и нежелательное поведение. Битовые блоки включают:
| ||
| Объяснение | A | Поддержка однозначного поведения сгенерированного кода. | |
| Проверки Model Advisor | Проверяйте использование блоков битовой операции (Simulink Check) | ||
| Ссылки |
| ||
| См. также | hisf_0003: Использование побитовых операций | ||
| Последнее изменение | R2019a | ||