Simulink.sdi.DiffRunResult class

Пакет: Simulink.sdi

Доступ к запущенным метаданным сравнения

Описание

Simulink.sdi.DiffRunResult класс обеспечивает доступ к метаданным сравнения запуска. Можно использовать getSignalByIndex метод, чтобы получить доступ к данным и сравнению приводит для каждого сигнала к сравнению запуска.

Конструкция

DiffRunResultObj = Simulink.sdi.compareRuns(runID1, runID2) возвращает Simulink.sdi.DiffRunResult объект обеспечить доступ к сравнению следует из сравнения запусков, соответствующих runID1 и runID2.

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

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

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

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

Свойства

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

Версия MATLAB® используется.

Запустите идентификатор для сигнала Baseline сравнения.

Запустите идентификатор для сигнала Compare to сравнения.

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

Дата и время Simulink.sdi.DiffRunResult объект был создан.

Типы данных: datetime

Глобальные значения допуска используются в сравнении запуска. GlobalTolerance значение свойства является структурой с полями:

  • AbsTol — Глобальный абсолютный допуск используется в сравнении запуска.

  • RelTol — Глобальный относительный допуск используется в сравнении запуска.

  • TimeTol — Глобальный допуск времени используется в сравнении запуска.

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

Сравнение заканчивается сводные данные. Сводные данные являются структурой с полем для каждого возможного Status сигнал результата сравнения мог иметь. Значение каждого поля указывает на количество сигналов в сравнении запуска с соответствующим Status.

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

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

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

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

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

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

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

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

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

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

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

Методы

getResultByIndexВозвратите результат сравнения сигнала

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

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

Примеры

свернуть все

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

Настройка

Загрузите модель и отметьте q, rad/sec и alpha, rad сигналы для логгирования. Затем симулируйте модель, чтобы создать базовый запуск.

% Load example model
load_system('slexAircraftExample')

% Mark the q, rad/sec and alpha, rad signals for logging
Simulink.sdi.markSignalForStreaming('slexAircraftExample/Aircraft Dynamics Model',3,'on')
Simulink.sdi.markSignalForStreaming('slexAircraftExample/Aircraft Dynamics Model',4,'on')

% Simulate system
out_1 = sim('slexAircraftExample');

Измените параметр модели

Измените параметр модели Ts в рабочем пространстве модели, чтобы изменить постоянную времени входа фильтр lowpass.

% Change input filter time constant
modelWorkspace = get_param('slexAircraftExample','modelworkspace');
assignin(modelWorkspace,'Ts',1)

% Simulate again
out_2 = sim('slexAircraftExample');

Сравните запуски и смотрите результаты

Используйте Simulink.sdi.compareRuns функция, чтобы сравнить данные из симуляций. Затем смотрите match свойство результата сигнала видеть, находились ли сигналы в пределах допуска по умолчанию 0.

% Get run data
runIDs = Simulink.sdi.getAllRunIDs;
runID1 = runIDs(end - 1);
runID2 = runIDs(end);

% Compare runs
diffRun1 = Simulink.sdi.compareRuns(runID1,runID2);

% Get signal result
sig1Result1 = getResultByIndex(diffRun1,1);
sig2Result1 = getResultByIndex(diffRun1,2);

% Check whether signals matched
sig1Result1.Status
ans = 
OutOfTolerance
sig2Result1.Status
ans = 
OutOfTolerance

Сравните запуски с допусками сигнала

Сигналы не соответствовали в допуске по умолчанию 0. Чтобы далее анализировать эффект изменения постоянной времени, добавьте допуски сигнала в сравнение с базовыми свойствами сигнала определить допуск, требуемый для передачи. Этот пример использует комбинацию времени и абсолютных допусков.

% Get signal object for sigID1
run1 = Simulink.sdi.getRun(runID1);
sigID1 = getSignalIDByIndex(run1,1);
sigID2 = getSignalIDByIndex(run1,2);

sig1 = Simulink.sdi.getSignal(sigID1);
sig2 = Simulink.sdi.getSignal(sigID2);

% Set tolerances for q, rad/sec
sig1.AbsTol = 0.1;
sig1.TimeTol = 0.6;

% Set tolerances for alpha, rad
sig2.AbsTol = 0.2;
sig2.TimeTol = 0.8;

% Run the comparison again
diffRun2 = Simulink.sdi.compareRuns(runID1,runID2);
sig1Result2 = getResultByIndex(diffRun2,1);
sig2Result2 = getResultByIndex(diffRun2,2);

% Check the result
sig1Result2.Status
ans = 
WithinTolerance
sig2Result2.Status
ans = 
WithinTolerance

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

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

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