Simulink.sdi.constraints.MatchesSignalOptions class

Пакет: Simulink.sdi.constraints

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

Описание

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

Примечание

The MatchesSignal ограничение использует Данные Моделирования Inspector для сравнения и требует лицензии для одного из следующих продуктов:

  • Simulink®

  • Signal Processing Toolbox™

  • MATLAB® Coder™

  • Fixed-Point Designer™

Создание

Описание

пример

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

пример

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

Критерии выравнивания для сравнения. Когда ожидаемое значение содержит более одного сигнала, алгоритм сравнения Данных моделирования Inspector выравнивает сигналы для сравнения между ожидаемым и фактическим значениями. По умолчанию Данные Моделирования Inspector выравниваются по источнику данных, затем по пути блока, затем по SID, а затем по имени сигнала. Для получения дополнительной информации об алгоритме выравнивания Данных моделирования Inspector см. Раздел «Как Данные моделирования Inspector сравнивает данные».

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

  • BlockPath - Путь к исходному блоку для сигнала.

  • SID - Идентификатор Simulink. Для получения дополнительной информации см. Раздел «Идентификаторы Simulink».

  • SignalName - Имя сигнала.

  • DataSource - Путь переменной.

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

Примеры

свернуть все

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

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

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

В этом примере первый сигнал является 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 образец, который игнорирует несоответствия типов данных и выборки данных за пределами временного интервала фактического и ожидаемого общего использования сигналов.

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(<Value>,'AbsTol',0.02) failed.
    --> Data types do not match for the following aligned signals:
        
               Name         ActualSignals     ActualDataType     ExpectedSignals     ExpectedDataType
            ___________    _______________    ______________    _________________    ________________
        
            "Wave Data"    "<Actual>.Data"      {'single'}      "<Expected>.Data"       {'double'}   
    
    ------------------
    Stack Information:
    ------------------
    In C:\Users\snadeau\AppData\Local\Temp\Editor_oxzoe\LiveEditorEvaluationHelperE1184446395.m (LiveEditorEvaluationHelperE1184446395) at 16
    In E:\jobarchive\Bdoc20b\2020_06_06_h12m11s21_job1400967_pass\matlab\toolbox\matlab\codetools\embeddedoutputs\+matlab\+internal\+editor\evaluateRegions.p (evaluateRegions) at 0
    In E:\jobarchive\Bdoc20b\2020_06_06_h12m11s21_job1400967_pass\matlab\toolbox\matlab\codetools\embeddedoutputs\+matlab\+internal\+editor\EvaluationOutputsService.p (EvaluationOutputsService.evalRegions) at 0
Введенный в R2019a