Обнаружьте неличный, NaN и субнормальные значения с плавающей точкой

Обнаружить случаи неличных, NaN и субнормальных значений с плавающей точкой в модели:

  1. В Редакторе Simulink® выберите Analysis> Design Verifier> Options.

  2. В диалоговом окне Configuration Parameters, на Design Verifier> панель Design Error Detection:

    1. Установите флажок для Неличного и NaN значения с плавающей точкой.

    2. Установите флажок для Субнормальных значений с плавающей точкой.

    3. Чтобы применить эти настройки, нажмите OK и закройте диалоговое окно Configuration Parameters.

  3. В Редакторе Simulink выберите Analysis> Design Verifier> Detect Design Errors.

Simulink Design Verifier™ анализирует модель, чтобы обнаружить случаи неличных, NaN и субнормальных значений с плавающей точкой.

После того, как анализ завершен:

  • Программное обеспечение подсвечивает модель с результатами анализа.

  • Окна Results Summary отображают сводные данные анализа.

Предположения и ограничения

Когда вы анализируете модель и выбираете Non-finite and NaN floating-point values, программное обеспечение принимает, что входные значения с плавающей точкой и значения настраиваемого параметра конечны.

Когда вы анализируете модель и выбираете Subnormal значения с плавающей точкой, программное обеспечение принимает, что входные значения с плавающей точкой и значения настраиваемого параметра нормальны.

Модели, которые используют сигналы с плавающей точкой с двойной точностью, занимают больше времени, чтобы анализировать, чем подобные модели, которые используют сигналы с плавающей точкой с одинарной точностью. В результате модели, которые используют сигналы с плавающей точкой с двойной точностью, могут испытать таймаут, тогда как подобные модели, которые используют сигналы с плавающей точкой с одинарной точностью, завершают свой анализ. Чтобы улучшать аналитическую производительность, рассмотрите задающие минимальные и максимальные значения, которые подражают экологическим ограничениям на корневом уровне блоки Inport.

Если модель содержит операции броска между сигналами с плавающей точкой и сигналами фиксированной точки многословными, анализ не может смочь решить все цели.

Запустите анализ поиска ошибок проектирования, чтобы обнаружить ошибки с плавающей точкой

Этот пример показывает, как обнаружить неличный, NaN и субнормальные значения с плавающей точкой в модели sldvexFloatingPointErrorChecks в качестве примера. Модель состоит из арифметических операций с плавающей точкой, которые приводят к ошибке. Выполните анализ поиска ошибок проектирования, чтобы обнаружить эти ошибки в модели.

1. Откройте модель

Эта модель в качестве примера состоит из, Добавляют и Делят блоки, которые обрабатывают вычисления с плавающей точкой. Анализ поиска ошибок проектирования обнаруживает случаи ошибок с плавающей точкой в модели и сообщает о результатах.

open_system('sldvexFloatingPointErrorChecks');

2. Выполните анализ поиска ошибок проектирования

Модель предварительно сконфигурирована с Неличным и NaN значения с плавающей точкой и Субнормальный набор опций значений с плавающей точкой к На. Для получения дополнительной информации смотрите Панель Верификатора Проекта: Поиск ошибок проектирования.

Чтобы выполнить анализ поиска ошибок проектирования, в редакторе Simulink, выбирают Analysis> Design Verifier> Detect Design Errors.

Программное обеспечение анализирует модель для ошибок с плавающей точкой и отображает результаты в окне Results Summary. Результат показывает, что 4 из целей 6 сфальсифицирован.

3. Рассмотрите результаты анализа

a. Нажмите результаты анализа Highlight на модели. Блоки модели, которые приводят к ошибкам с плавающей точкой, подсвечены в красном.

b. Кликните по блоку Add, подсвеченному в красном. Инспектор Результата отображает сводные данные ошибочных целей с плавающей точкой.

c. Кликните по блоку Division, подсвеченному в красном. Инспектор Результата отображает сводные данные ошибочных целей с плавающей точкой.

4. Просмотрите отчет детального анализа

Чтобы просмотреть отчет детального анализа, в окне Results Summary, нажимают HTML. Отчет отображает сводные данные всех случаев ошибок с плавающей точкой в модели.

5. Вымыться

Чтобы завершить этот пример, закройте модель.

close_system('sldvexFloatingPointErrorChecks', 0);

Похожие темы