Simulink.sdi. Класс CustomSnapshot

Пакет: Simulink.sdi

Задайте настройки для снимка состояния, не открываясь или влияя на Моделирование Data Inspector

Описание

Используйте объект Simulink.sdi.CustomSnapshot задать настройки для снимка состояния, который вы хотите создать, не открывая Моделирование Data Inspector или влияя на открытый сеанс. Создание снимка состояния с помощью объекта Simulink.sdi.CustomSnapshot является наилучшим вариантом для полностью рабочих процессов в виде сценария. Можно задать размерности снимка состояния в пикселях, размещении подграфика и пределах для x-и y-осей. Можно использовать clearSignals и методы plotOnSubplot, чтобы построить график сигналов, которые вы хотите включать в снимок состояния. Чтобы получить снимок состояния, можно передать объект Simulink.sdi.CustomSnapshot, когда значение для пары "имя-значение" settings для Simulink.sdi.snapshot функционирует или использует метод snapshot.

Конструкция

snap = Simulink.sdi.CustomSnapshot создает объект Simulink.sdi.CustomSnapshot.

Свойства

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

Ширина изображения, в пикселях.

Пример: 750

Высота изображения, в пикселях.

Пример: 500

Количество строк подграфика, заданных как скаляр между 1 и 8, включительно. Используйте Rows и Columns, чтобы установить ваше желаемое размещение подграфика.

Пример 2

Количество столбцов подграфика, заданных как скаляр между 1 и 8, включительно. Используйте Rows и Columns, чтобы установить ваше желаемое размещение подграфика.

Пример 3

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

Пример: [0 20]

Массив ячеек 1 2 матриц, задающих ось Y, ограничивает для всех подграфиков в пользовательском снимке состояния. По умолчанию YRange является [-3 3] для всех подграфиков.

Пример: {[-10 10], [0 100]}

Методы

clearSignals Четкие сигналы построены график на подграфиках объекта Simulink.sdi.CustomSnapshot
plotOnSubPlot Постройте график сигналов на подграфиках объекта Simulink.sdi.CustomSnapshot
снимок состояния Создайте пользовательский снимок состояния

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

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

Примеры

свернуть все

Этот пример показывает, как скопировать настройки представления для выровненных сигналов от одного выполнения до другого.

Моделируйте Свою Модель и получите Объект Выполнения

Моделируйте модель vdp, чтобы создать выполнение данных, чтобы визуализировать.

load_system('vdp')
set_param('vdp','SaveFormat','Dataset','SaveOutput','on')
sim('vdp')

runIndex = Simulink.sdi.getRunCount;
runID = Simulink.sdi.getRunIDByIndex(runIndex);
vdpRun = Simulink.sdi.getRun(runID);

Измените настройки представления для сигналов

Используйте объект Simulink.sdi.Run получить доступ к сигналам в выполнении. Затем измените настройки представления сигналов и постройте график их в Моделировании Data Inspector. Откройте Моделирование Data Inspector и используйте Simulink.sdi.snapshot, чтобы просмотреть результаты.

sig1 = vdpRun.getSignalByIndex(1);
sig2 = vdpRun.getSignalByIndex(2);

sig1.LineColor = [0 0 1];
sig1.LineDashed = '-.';

sig2.LineColor = [1 0 0];
sig2.LineDashed = ':';

Получите снимок состояния от моделирования Data Inspector

Создайте объект Simulink.sdi.CustomSnapshot и используйте функцию Simulink.sdi.snapshot, чтобы программно получить снимок состояния содержимого Моделирования Data Inspector.

snap = Simulink.sdi.CustomSnapshot;

snap.Rows = 2;
snap.YRange = {[-2.25 2.25],[-3 3]};
snap.plotOnSubPlot(1,1,sig1,true)
snap.plotOnSubPlot(2,1,sig2,true)

fig = Simulink.sdi.snapshot("from","custom","to","figure","settings",snap);

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

Моделируйте модель снова с различным значением Mu. Затем визуализируйте новое выполнение путем копирования настроек представления с первого показа. Задайте входной параметр plot как true, чтобы построить график сигналов от нового выполнения.

set_param('vdp/Mu','Gain','5')
sim('vdp')

runIndex2 = Simulink.sdi.getRunCount;
runID2 = Simulink.sdi.getRunIDByIndex(runIndex2);
run2 = Simulink.sdi.getRun(runID2);

sigIDs = Simulink.sdi.copyRunViewSettings(runID,runID2,true);

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

Используйте объект Simulink.sdi.CustomSnapshot получить снимок состояния нового запущенного моделирования. Во-первых, очистите сигналы от подграфиков. Затем постройте график сигналов от нового выполнения и получите другой снимок состояния.

snap.clearSignals
snap.YRange = {[-2.25 2.25],[-8 8]};
snap.plotOnSubPlot(1,1,sigIDs(1),true)
snap.plotOnSubPlot(2,1,sigIDs(2),true)

fig = snap.snapshot("to","figure");

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

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