exponenta event banner

проверить

Оценить логическое выражение

Описание

пример

verify(expression) вычисляет скалярный логический expression кому true или false.

пример

verify(expression,errorMessage) возвращает указанную строку сообщения об ошибке для ошибки verify заявление. При выполнении теста в диспетчере тестов в журнале моделирования появляется сообщение об ошибке. Если тест выполняется вне диспетчера тестов, сообщение появляется в средстве просмотра диагностики.

пример

verify(expression,identifier,errorMessage) использует identifier в качестве метки для результатов теста. identifier используется в качестве метки сигнала в диспетчере тестирования. Если тест выполняется вне диспетчера тестов, метка появляется в инспекторе данных моделирования или, в случае сбоя, в средстве просмотра диагностики. Идентификатор представляет собой строку, которая имеет по крайней мере два идентификатора MATLAB ®, разделенных двоеточием.

Примеры

развернуть все

verify(x > y && z > 10)

Если это verify оператор failes, он возвращает сообщение об ошибке, в котором перечислены значения x, y, и z.

verify(x > y && z > 10,'x, y, and z are %d,%d,%d',x,y,z)

Результат этого verify оператор предваряется меткой, TestReq1:bothGreater и, если тест завершается неуспешно, сообщение об ошибке.

verify(x > y && z > 10,'TestReq1:bothGreater',...
   'x, y, and z are %d,%d,%d',x,y,z)

На втором шаге в Scenario1 состоянии этой диаграммы Stateflow проверяется, что целевой объект равен 60.

Совет

  • Вы можете использовать verify операторы в блоках тестовой последовательности и тестовой оценки и в диаграммах Stateflow ®. Для использования диаграммы требуется лицензия Stateflow .verify операторы в диаграммах поддерживаются в тех же местоположениях, режимах выполнения и для тех же целей генерации кода, что и блок тестовой последовательности.

  • Вы не можете использовать verify операторы в:

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

    • Мур, Мили, Дискретное событие или непрерывные диаграммы

    • Диаграммы, использующие C в качестве языка действий

    • Привязка действий в диаграмме

    • Действия перехода или условия в диаграмме

    • Функции MATLAB, графические функции или таблицы истинности на диаграмме

    • Блоки таблицы функций или истинности MATLAB

    • Моделирование в режиме быстрого ускорения

    • Цели создания кода, отличные от Simulink ® Real-Time™ и HDL Verifier™

    • Автономные диаграммы Stateflow

  • Если для выполнения тестов используется параллельное выполнение теста, то нельзя использовать кнопку Подсветить в модели (Highlight in Model) в диспетчере тестов, чтобы verify результаты.

  • Вы не можете использовать verify как условие сразу после when в разложении When, поскольку verify операторы не производят вывод. Однако можно использовать verify операторы в качестве действий в шагах декомпозиции When. См. раздел Оценка модели с помощью метода декомпозиции.

  • При сравнении данных с плавающей запятой в verify рассмотрим ограничения точности, связанные с числами с плавающей запятой. При необходимости использования данных с плавающей запятой определите допуск для проверки. Например, вместо verify(x == 5), проверить x в пределах допуска 0,001:

    verify(abs(x-5) < 0.001)
    Дополнительные сведения см. в разделе Номера с плавающей запятой.

Представлен в R2016a