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

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

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

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

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

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

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

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