Simulink.sdi. Класс DiffRunResult

Пакет: Simulink.sdi

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

Описание

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

Конструкция

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

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

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

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

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

Свойства

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

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

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

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

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

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

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

Методы

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

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

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

Примеры

свернуть все

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

Настройка

Загрузите модель и отметьте 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
sim('slexAircraftExample')

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

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

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

% Simulate again
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 = diffRun1.getResultByIndex(1);
sig2Result1 = diffRun1.getResultByIndex(2);

% Check whether signals matched
sig1Result1.Match
ans = logical
   0

sig2Result1.Match
ans = logical
   0

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

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

% Get signal object for sigID1
run1 = Simulink.sdi.getRun(runID1);
sigID1 = run1.getSignalIDByIndex(1);
sigID2 = run1.getSignalIDByIndex(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 = diffRun2.getResultByIndex(1);
sig2Result2 = diffRun2.getResultByIndex(2);

% Check the result
sig1Result2.Match
ans = logical
   1

sig2Result2.Match
ans = logical
   1

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

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

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