Simulink.sdi.DiffSignalResult class

Пакет: Simulink.sdi

Доступ к результатам сравнения сигнала

Описание

Simulink.sdi.DiffSignalResult объект обеспечивает доступ к данным и метаданным, созданным сравнением сигнала. Simulink.sdi.DiffSignalResult объект предоставляет доступ сигнал различия, данные о допуске и синхронизируемые данные сигнала.

Конструкция

DiffSignalObj = Simulink.sdi.compareSignals(signalID1, signalID2) создает Simulink.sdi.DiffSignalResult объект обеспечить доступ к результатам сравнения сигналов, соответствующих sigID1 и sigID2.

DiffSignalObj = DiffRunObj.getResultByIndex(index) возвращает Simulink.sdi.DiffSignalResult объект для сравнения сигнала, соответствующего index в Simulink.sdi.DiffRunResult объект.

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

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

Числовой идентификатор сигнала для Baseline сигнализирует в сравнении.

Числовой идентификатор сигнала для Compare to сигнализирует в сравнении.

Индекс сигнала в рамках запуска.

Свойства

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

Указывает на состояние DiffSignalResult объект. Состояние может указать, где данное сравнение сигнала находится в процессе сравнения во время длинного сравнения, или это может указать на информацию о результате сравнения сигнала.

  • WithinTolerance — Сравнение сигнала, завершенное, и все сравненные точки данных, находилось в пределах заданного допуска.

  • OutOfTolerance — Сравнение сигнала, завершенное, и некоторые сравненные точки данных, упало за пределами заданного допуска.

  • Unaligned — Сигнал от запущенного Baseline не выровнялся с сигналом в запущенном Compare to.

  • Empty — Выровненный сигнал Baseline или Compare to не содержит данных.

  • EmptySynced — Синхронизируемый сигнал Baseline или Compare to не содержит данных.

  • Canceled — Результат сигнала, не вычисленный, потому что пользователь отменил сравнение или алгоритм, закончил сравнение прежде, чем вычислить этот результат сигнала.

  • Pending — Сравнение происходит, и расчет результата сигнала не запустился.

  • Processing — Происходящий расчет результата сигнала.

  • UnitsMismatchBaseline и модули сигнала Compare to не соответствуют.

  • Unsupported — Инспектор Данных моделирования алгоритм сравнения не поддерживает этот тип сигнала. Например, сигналы с типами данных, которые теряют точность, когда преобразовано в double не поддержаны.

Для получения дополнительной информации о выравнивании, допуски и синхронизация, видят, Как Инспектор Данных моделирования Сравнивает Данные.

Уникальный идентификатор сигнала для сигнала сравнения Baseline.

Уникальный идентификатор сигнала для сигнала сравнения Compare to.

Максимальная разница между двумя сигналами сравнения.

Синхронизируемый сигнал Baseline. Для получения дополнительной информации о синхронизации, смотрите, Как Инспектор Данных моделирования Сравнивает Данные.

Синхронизируемый сигнал Compare to. Для получения дополнительной информации о синхронизации, смотрите, Как Инспектор Данных моделирования Сравнивает Данные.

Сигнал различия, следующий из сравнения как timeseries объект.

Копировать семантику

Указатель. Чтобы изучить, как классы Handle влияют на операции копии, смотрите Копирование Объектов (MATLAB).

Примеры

свернуть все

Этот пример использует slexAircraftExample модель, чтобы продемонстрировать сравнение ввода и вывода сигнализирует для системы управления. Пример отмечает сигналы для потоковой передачи, затем получает объект запуска для запущенной симуляции. Идентификаторы сигнала от объекта запуска задают сигналы, которые будут сравнены.

% Load model slexAircraftExample and mark signals for streaming
load_system('slexAircraftExample')
Simulink.sdi.markSignalForStreaming('slexAircraftExample/Pilot',1,'on')
Simulink.sdi.markSignalForStreaming('slexAircraftExample/Aircraft Dynamics Model',4,'on')

% Simulate model slexAircraftExample
out = sim('slexAircraftExample');

% Get run IDs for most recent run
allIDs = Simulink.sdi.getAllRunIDs;
runID = allIDs(end);

% Get Run object
aircraftRun = Simulink.sdi.getRun(runID);

% Get signal IDs
signalID1 = getSignalIDByIndex(aircraftRun,1);
signalID2 = getSignalIDByIndex(aircraftRun,2);

if (isValidSignalID(aircraftRun,signalID1))
    % Change signal tolerance
    signal1 = Simulink.sdi.getSignal(signalID1);
    signal1.AbsTol = 0.1;
end

if (isValidSignalID(aircraftRun,signalID1) && isValidSignalID(aircraftRun,signalID2))
    % Compare signals
    sigDiff = Simulink.sdi.compareSignals(signalID1,signalID2);

    % Check whether signal result status
    match = sigDiff.Status
end
match = 
OutOfTolerance

Альтернативы

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

Представленный в R2012b