exponenta event banner

verifySignalsMatch

Класс: sltest. TestCase
Пакет: sltest

Проверка эквивалентности двух наборов данных

Описание

пример

verifySignalsMatch(testCase,actual,expected) проверяет, эквивалентны ли фактические и ожидаемые значения данных сигнала. При неуспешном завершении проверки регистрируется отказ, и тест завершается. Дополнительные сведения см. в разделе matlab.unittest.qualifications.Verifiable.

пример

verifySignalsMatch(___,diagnostic) возвращает диагностическую информацию, если фактические и ожидаемые значения данных не эквивалентны.

пример

verifySignalsMatch(___,Name,Value) фильтрует тестовое содержимое с дополнительными параметрами, указанными одним или несколькими Name,Value аргументы пары.

Входные аргументы

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

Экземпляр тестового случая, указанный как sltest.TestCase объект.

Фактические значения для сравнения с ожидаемыми значениями, заданными как данные временного ряда, строка или символьный массив. Данные для каждого фактического значения должны объединять значение данных со значением времени. Данные должны иметь формат, поддерживаемый инспектором данных моделирования. Инспектору данных моделирования требуются данные в формате, связывающем значения выборки со временем. Поддерживаемые форматы: timeseries, Structure with time, и Dataset.

Пример: 'C:/matlab/data/actualData.mat'

Ожидаемые значения, используемые в качестве базовой линии для сравнения. Данные для каждого ожидаемого значения должны объединять значение данных со значением времени. Данные должны иметь формат, поддерживаемый инспектором данных моделирования. Инспектору данных моделирования требуются данные в формате, связывающем значения выборки со временем. Поддерживаемые форматы: timeseries, Structure with time, и Dataset.

Пример: 'C:/matlab/data/expectedData.mat'

Диагностическая информация, отображаемая при сбое проверки эквивалентности фактических и ожидаемых значений, указанных как строка, символьный массив, дескриптор функции или экземпляр matlab.unittest.diagnostics.Diagnostic класс.

Пример: 'Simulation output does not match.'

Аргументы пары «имя-значение»

Укажите дополнительные пары, разделенные запятыми Name,Value аргументы. Name является именем аргумента и Value - соответствующее значение. Name должен отображаться внутри кавычек. Можно указать несколько аргументов пары имен и значений в любом порядке как Name1,Value1,...,NameN,ValueN.

Пример: 'AbsTol',.02

В дополнение к перечисленным парам Наименование (Name) - Значение (Value) можно использовать Simulink.sdi.constraints.MatchesSignal Пары Наименование (Name) - Значение (Value).

Абсолютный допуск, заданный как разделенная запятыми пара, состоящая из 'AbsTol' и скалярное значение допуска. Допуск определяет величину разницы между фактическими и ожидаемыми значениями.

Пример: 'AbsTol',1e-9

Относительный допуск, заданный как разделенная запятыми пара, состоящая из 'RelTol' и скалярное значение допуска. Относительный допуск определяет величину разницы между фактическими и ожидаемыми значениями относительно ожидаемого значения.

Пример: 'RelTol',.002

Допуск по времени, заданный как разделенная запятыми пара, состоящая из 'TimeTol' и скалярное значение допуска.

Пример: 'TimeTol',.2

Признаки

Accesspublic
Sealedtrue

Сведения об атрибутах методов см. в разделе Атрибуты метода.

Примеры

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

Создайте тестовый пример для интерактивного использования. Затем смоделировать модель в обычном режиме для получения ожидаемых значений и смоделировать в режиме быстрого ускорения для получения фактических значений. Использовать verifySignalsMatch для сравнения значений.

testCase =...
   sltest.TestCase.forInteractiveUse;
 
expected = testCase.simulate('myModel',...
   'SimulationMode','Normal');
actual = testCase.simulate('myModel',...
   'SimulationMode','Rapid-Accelerator');
 
testCase.verifySignalsMatch(actual,expected)

Создайте тестовый пример для интерактивного использования. Моделирование модели в режиме быстрого ускорения для получения фактических значений. Использовать verifySignalsMatch для сравнения фактических значений с базовыми значениями, сохраненными в MAT-файле. Задайте относительный допуск.

testCase =...
   sltest.TestCase.forInteractiveUse;
 
actual = testCase.simulate('myModel',...
   'SimulationMode','Rapid-Accelerator');

testCase.verifySignalsMatch(actual,'baseline.mat',...
   'RelTol',0.001) 

Создайте тестовый пример для интерактивного использования. Затем смоделируйте модель в режиме быстрого ускорения для получения фактических значений. Использовать verifySignalsMatch для сравнения фактических значений с базовыми значениями, сохраненными в MAT-файле. Укажите диагностическое сообщение, отображаемое в случае неуспешной проверки.

testCase =...
   sltest.TestCase.forInteractiveUse;
 
actual = testCase.simulate('myModel',...
   'SimulationMode','Rapid-Accelerator');
 
testCase.verifySignalsMatch(actual,'baseline.mat',...
   'Rapid-Accel output did not match.')
 
Представлен в R2020b