Simulink.sdi. Класс DiffRunResult

Пакет: Simulink.sdi

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

Описание

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

Конструкция

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

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

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

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

Числовой идентификатор для Сравнивания, чтобы запуститься в сравнении.

Свойства

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

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

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

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

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

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

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

Методы

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

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

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

Примеры

свернуть все

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

Настройка

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

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

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

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

Была ли эта тема полезной?