Simulink.sdi.constraints.MatchesSignalOptions class

Пакет: Simulink.sdi.constraints

Задайте опции сравнения для Simulink.sdi.MatchesSignal ограничение

Описание

Используйте Simulink.sdi.constraints.MatchesSignalOptions объект сконфигурировать поведение сравнения и критерии допустимости для экземпляра Simulink.sdi.constraints.MatchesSignal ограничение.

Примечание

MatchesSignal ограничение использует Инспектора Данных моделирования, чтобы выполнить сравнения и требует лицензии на один из этих продуктов:

  • Simulink®

  • Signal Processing Toolbox™

  • MATLAB® Coder™

  • Fixed-Point Designer™

Создание

Описание

пример

MatchesSignalOptions создает экземпляр Simulink.sdi.constraints.MatchesSignalOptions класс со свойствами, которые соответствуют ограничению, которое не игнорирует проверок и использует настройки выравнивания по умолчанию в Инспекторе Данных моделирования.

пример

MatchesSignalOptions(Name,Value) создает экземпляр Simulink.sdi.constraints.MatchesSignalOptions класс со свойствами использования поведения сравнения, заданными одним или несколькими Name,Value парные аргументы.

Свойства

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

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

  • false — Ограничение проверяет ли ожидаемое значение и соответствие типов данных фактического значения.

  • true — Ограничение нечувствительно к неверным типам данных между ожидаемым значением и фактическим значением.

Можно задать IgnoreDataTypes свойство в конструкторе, использующем 'IgnoringDataTypes' аргумент пары "имя-значение".

Атрибуты:

GetAccess
public
SetAccess
public

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

  • false — Ограничение проверяет на сигналы, которые не выравниваются между ожидаемым значением и фактическим значением.

  • true — Ограничение нечувствительно к одному или нескольким сигналам, не выравнивающимся между ожидаемым значением и фактическим значением.

Можно задать IgnoreSignalsNotAligned свойство в конструкторе, использующем 'IgnoringSignalsNotAligned' аргумент пары "имя-значение".

Атрибуты:

GetAccess
public
SetAccess
public

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

  • false — Ограничение проверяет, содержит ли фактическое значение данные вне временного интервала, заданного ожидаемым значением.

  • true — Ограничение нечувствительно к фактическому значению, содержащему данные вне временного интервала, заданного ожидаемым значением.

Можно задать IgnoreExtraData свойство в конструкторе, использующем 'IgnoringExtraData' аргумент пары "имя-значение".

Атрибуты:

GetAccess
public
SetAccess
public

Критерии выравнивания сравнения. Когда ожидаемое значение содержит больше чем один сигнал, Инспектор Данных моделирования, алгоритм сравнения выравнивает сигналы для сравнения между ожидаемыми и фактическими значениями. По умолчанию Инспектор Данных моделирования выравнивается источником данных, затем блоком path, затем SID, и затем именем сигнала. Для получения дополнительной информации об Инспекторе Данных моделирования алгоритм выравнивания, смотрите, Как Инспектор Данных моделирования Сравнивает Данные.

Задайте критерии выравнивания как массив строк с одним или несколькими из этих опций, перечисленных в порядке, в котором вы хотите их рассмотренный:

Можно задать Alignment свойство в конструкторе, использующем 'AligningBy' аргумент пары "имя-значение".

Примеры

свернуть все

В этом примере показано, как сконфигурировать поведение сравнения Simulink.sdi.constraints.MatchesSignal ограничение с помощью Simulink.sdi.constraints.MatchesSignalOptions объект. Можно использовать MatchesSignalOptions объект сконфигурировать несколько свойств сравнения с одним входом пары "имя-значение" в конструкции MatchesSignal экземпляр.

Создайте данные временных рядов

Этот пример создает данные о рабочей области, чтобы использовать в иллюстративных целях только. Можно использовать MatchesSignal ограничение, чтобы сравнить данные из других источников, таких как симуляция выходные параметры или файл, содержащий тестовые данные и ограничение, может сравнить данные временных рядов в любом формате, поддержанном Инспектором Данных моделирования.

В этом примере первым сигналом является timeseries объект с именем Wave Data это содержит данные для синусоиды.

time = 0:0.1:20;
sig1vals = sin(2*pi/5*time);
sig1_ts = timeseries(sig1vals,time);
sig1_ts.Name = 'Wave Data';

Второй сигнал является также синусоидой на той же частоте с небольшим затуханием и произведенный на различном уровне. Поскольку алгоритм сравнения для MatchesSignal ограничение включает шаг синхронизации, сравнение этих двух сигналов с различными временными векторами не обязательно приводит к непройденному тесту. Второй сигнал брошен к single тип данных и также названный Wave Data таким образом, алгоритм выравнивания может соединить сигналы для сравнения.

time2 = 0:0.1:22;
sig2vals = single(0.98*sin(2*pi/5*time2));
sig2_ts = timeseries(sig2vals,time2);
sig2_ts.Name = 'Wave Data';

Сконфигурируйте MatchesSignal Экземпляр и сравнивает данные

Можно использовать MatchesSignalOptions объект задать, как экземпляр MatchesSignal ограничение обрабатывает условия, такие как типы данных, которым не соответствуют, и как сигналы выравниваются между фактическими и ожидаемыми наборами данных. Можно задать свойства MatchesSignalOptions возразите, чтобы удовлетворить тесту, который вы хотите записать. Например, если вы хотите, чтобы ваш тест сравнил данные различных типов, и соответствие типа данных не функционально релевантно, вы могли установить IgnoreDataTypes свойство к true.

Создайте MatchesSignalOptions объект создать MatchesSignal экземпляр, который игнорирует неверные типы данных и выборки данных вне времени inerval фактическая и ожидаемая доля сигналов.

import Simulink.sdi.constraints.MatchesSignalOptions
opts = MatchesSignalOptions('IgnoringDataTypes',true,'IgnoringExtraData',true);

Создайте TestCase экземпляр для интерактивного использования и сравнивает sig1_ts и sig2_ts использование MatchesSignal ограничение, MatchesSignalOptions объект и абсолютный допуск 0.02.

import matlab.unittest.TestCase
testCase = TestCase.forInteractiveUse;

import Simulink.sdi.constraints.MatchesSignal
testCase.verifyThat(sig2_ts,MatchesSignal(sig1_ts,'AbsTol',0.02,'WithOptions',opts))
Verification passed.

Тестовые передачи. Когда вы запускаете тот же тест снова без опций, заданных MatchesSignalOptions объект, тест перестал работать из-за несовпадающих типов данных.

testCase.verifyThat(sig2_ts,MatchesSignal(sig1_ts,'AbsTol',0.02))
Verification failed.
    ---------------------
    Framework Diagnostic:
    ---------------------
    MatchesSignal failed.
    --> Datatype does not match for the following aligned signals:
        
               ActualValue       ActualDatatype       ExpectedValue       ExpectedDatatype
            _________________    ______________    ___________________    ________________
        
            {'<Actual>.Data'}      {'single'}      {'<Expected>.Data'}       {'double'}   
    ------------------
    Stack Information:
    ------------------
    In /tmp/BR2019bd_1276998_130124/mlx_to_docbook3/tp63ee269c/simulink-ex71177165/ConfigureMatchesSignalConstraintBehaviorExample.mlx (ConfigureMatchesSignalConstraintBehaviorExample) at 16
    In /mathworks/devel/bat/BR2019bd/build/matlab/toolbox/matlab/codetools/embeddedoutputs/+matlab/+internal/+editor/evaluateRegions.p (evaluateRegions) at 88
    In /mathworks/devel/bat/BR2019bd/build/matlab/toolbox/matlab/codetools/embeddedoutputs/+matlab/+internal/+editor/EvaluationOutputsService.p (EvaluationOutputsService.evalRegions) at 79
    In /mathworks/devel/bat/BR2019bd/build/matlab/toolbox/matlab/codetools/+matlab/+internal/+liveeditor/@LiveEditorUtilities/execute.m (execute) at 48
    In /mathworks/devel/bat/BR2019bd/build/matlab/tools/examples/exampletools/+mwtools/liveCodeToDocbook.m (doRun) at 246
    In /mathworks/devel/bat/BR2019bd/build/matlab/tools/examples/exampletools/+mwtools/liveCodeToDocbook.m (doRunConvert) at 202
    In /mathworks/devel/bat/BR2019bd/build/matlab/tools/examples/exampletools/+mwtools/liveCodeToDocbook.m (liveCodeToDocbook) at 108
    In /mathworks/devel/bat/BR2019bd/build/matlab/tools/build_using_matlab/BML.m (BML) at 13

Введенный в R2019a