ID: Заголовок | 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 | ||
Примеры | Положительный Шаблон: Чтобы протестировать, равны ли две переменные с плавающей точкой или выражения, сравните различие этих двух переменных против порога, который учитывает относительную точность с плавающей точкой ( Следующий шаблон показывает, как протестировать два входных сигнала с двойной точностью,
|
ID: Заголовок | 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 |
ID: Заголовок | hisl_0018: Использование блока Logical Operator | ||
---|---|---|---|
Описание | Поддерживать однозначное поведение сгенерированного кода, при использовании блока Logical Operator, | ||
A | Установите параметры блоков Output data type на | ||
B | Гарантируйте, что входные сигналы имеют тип | ||
Необходимые условия | |||
Объяснение | A, B | Избегайте неоднозначного поведения сгенерированного кода. | |
Проверки Model Advisor | Проверяйте использование блоков Логического оператора (Simulink Check) | ||
Ссылки |
| ||
В последний раз измененный | R2017b |
ID: Заголовок | hisl_0019: Использование битовых операций | ||
---|---|---|---|
Описание | Поддерживать однозначное поведение, при использовании битовых операций в блоках Simulink, | ||
A | Избегайте подписанных типов данных, как введено с блоком. | ||
Примечания | Битовые операции на типах данных со знаком не значимы. Если операция сдвига перемещает бит со знаком в числовой бит или числовой бит в бит со знаком, непредсказуемое и нежелательное поведение может закончиться. Поразрядные блоки включают:
| ||
Объяснение | A | Поддержите однозначное поведение сгенерированного кода. | |
Проверки Model Advisor | Проверяйте использование блоков битовой операции (Simulink Check) | ||
Ссылки |
| ||
Смотрите также | hisf_0003: Использование битовых операций | ||
В последний раз измененный | R2019a |