assumeSignalsMatch

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

Предположим, что два набора данных эквивалентны

Описание

пример

assumeSignalsMatch(testCase,actual,expected) принимает, что фактические и ожидаемые значения данных сигнала эквивалентны. Когда допущение прекращается, тест останавливается в тестовой точке или тестовом файле, и тест помечается как неполный. Для получения дополнительной информации смотрите matlab.unittest.qualifications.Assumable.

пример

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

пример

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

Входные параметры

расширить все

Образец теста, заданный как sltest.TestCase объект.

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

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

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

Признаки

Accesspublic
Sealedtrue

Чтобы узнать об атрибутах методов, см. «Атрибуты метода».

Примеры

расширить все

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

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

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

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

testCase.assumeSignalsMatch(actual,'baseline.mat',...
   'AbsTol',1e-12)
 

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

testCase =...
   sltest.TestCase.forInteractiveUse;
 
actual = testCase.simulate('myModel',...
   'SimulationMode','Rapid-Accelerator');
 
testCase.assumeSignalsMatch(actual,'baseline.mat',...
   'Rapid-Accel output did not match.')
 
Введенный в R2020b