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

В дополнение к перечисленным Парам "имя-значение" можно использовать Simulink.sdi.constraints.MatchesSignal Пары "имя-значение".

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

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

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

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

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

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

Примеры

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

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

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

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

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

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

Создайте тест для интерактивного использования. Затем симулируйте модель в быстром режиме Accelerator, чтобы получить фактические значения. Используйте 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