exponenta event banner

Симулинк.сди.джеткерренткомпэрисон

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

Описание

пример

diffRes = Simulink.sdi.getCurrentComparison возвращает значение Simulink.sdi.DiffRunResult объект diffRes для последнего сравнения, выполненного с помощью пользовательского интерфейса инспектора данных моделирования или программного интерфейса.

Совет

При сравнении данных с помощью пользовательского интерфейса инспектора расчетных данных результаты не возвращаются в рабочую область. Вы можете использовать Simulink.sdi.getCurrentComparison для доступа к результатам сравнения, выполняемого с помощью пользовательского интерфейса инспектора данных моделирования. При сравнении данных с помощью Simulink.sdi.compareRuns или Simulink.sdi.compareSignals функции, функция возвращает данные в Simulink.sdi.DiffRunResult объект или Simulink.sdi.DiffSignalResult объект.

Примеры

свернуть все

Используйте Simulink.sdi.getCurrentComparison для получения доступа к результатам последнего сравнения для дальнейшего сохранения или обработки. Дополнительные сведения о сравнении данных с помощью пользовательского интерфейса инспектора данных моделирования см. в разделе Сравнение данных моделирования.

compResults = Simulink.sdi.getCurrentComparison;

Вы можете использовать Simulink.sdi.getCurrentComparison функции или Simulink.sdi.DiffRunResult.getResult , чтобы получить результаты для последнего сравнения, если вы случайно удалили возвращенные результаты из рабочей области с помощью clear функция.

При удалении содержимого инспектора расчетных данных с помощью Simulink.sdi.clear функция, вы не можете восстановить результаты.

Сравнение данных моделирования

В этом примере создаются ветви для сравнения путем выполнения двух моделирований модели. ex_vdp с различными значениями для Mu.

load_system('ex_vdp')

set_param('ex_vdp/Mu','Gain','2');
out1 = sim('ex_vdp');

set_param('ex_vdp/Mu','Gain','5');
out2 = sim('ex_vdp');

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

IDs = Simulink.sdi.getAllRunIDs;
runID1 = IDs(end-1);
runID2 = IDs(end);

diffRun = Simulink.sdi.compareRuns(runID1,runID2);

Предположим, что вы очищаете рабочую область и теряете diffRun переменная с результатами сравнения.

clear diffRun

Получение данных сравнения в рабочей области

Используйте Simulink.sdi.getCurrentComparison функция восстановления результатов сравнения.

diffRun = Simulink.sdi.getCurrentComparison
diffRun = 
  DiffRunResult with properties:

       MatlabVersion: '9.10.0.1657350 (R2021a) Update 2'
              RunID1: 74
              RunID2: 95
     BaselineRunName: 'Run 1: ex_vdp'
    CompareToRunName: 'Run 2: ex_vdp'
               Count: 2
         DateCreated: 22-Apr-2021 20:30:32
     GlobalTolerance: [1x1 struct]
             Summary: [1x1 struct]
             Options: {'Units'  'MustMatch'}
              Status: Completed
          StopReason: []

Вы также можете использовать Simulink.sdi.DiffRunResult.getLatest функция восстановления результатов.

clear diffRun

diffRun = Simulink.sdi.DiffRunResult.getLatest
diffRun = 
  DiffRunResult with properties:

       MatlabVersion: '9.10.0.1657350 (R2021a) Update 2'
              RunID1: 74
              RunID2: 95
     BaselineRunName: 'Run 1: ex_vdp'
    CompareToRunName: 'Run 2: ex_vdp'
               Count: 2
         DateCreated: 22-Apr-2021 20:30:32
     GlobalTolerance: [1x1 struct]
             Summary: [1x1 struct]
             Options: {'Units'  'MustMatch'}
              Status: Completed
          StopReason: []

Выходные аргументы

свернуть все

Результаты последнего сравнения, возвращенные как Simulink.sdi.DiffRunResult объект.

Представлен в R2020a