Simulink.sdi.snapshot

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

Синтаксис

fig = Simulink.sdi.snapshot
[fig,image] = Simulink.sdi.snapshot
Simulink.sdi.snapshot(Name,Value)
Simulink.sdi.snapshot(Name,Value)
Simulink.sdi.snapshot(Name,Value)

Описание

fig = Simulink.sdi.snapshot создает фигуру области графического вывода в открытом Инспекторе Данных моделирования, сеанс с фигурой обрабатывает fig.

[fig,image] = Simulink.sdi.snapshot создает фигуру области графического вывода в открытом Инспекторе Данных моделирования, сеанс с фигурой обрабатывает fig, и возвращает данные изображения в массиве, image.

Simulink.sdi.snapshot(Name,Value) получает изображение Инспектора Данных моделирования графики согласно опциям, заданным парами "имя-значение".

пример

fig = Simulink.sdi.snapshot(Name,Value) получает изображение Инспектора Данных моделирования графики согласно опциям, заданным парами "имя-значение". Этот синтаксис возвращает указатель фигуры, fig, если фигура создается.

[fig, image] = Simulink.sdi.snapshot(Name,Value) получает изображение Инспектора Данных моделирования графики согласно опциям, заданным парами "имя-значение". Этот синтаксис возвращает указатель фигуры, fig и массив данных изображения, image, в надлежащих случаях для заданных опций.

Примеры

свернуть все

Этот пример показывает, как скопировать настройки представления от одного выполнения до другого и как создать фигуры, использующие объект Simulink.sdi.CustomSnapshot.

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

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

load_system('vdp')
set_param('vdp','SaveFormat','Dataset','SaveOutput','on')
set_param('vdp/Mu','Gain','1');
sim('vdp')
ans = 
  Simulink.SimulationOutput:

                   yout: [1x1 Simulink.SimulationData.Dataset] 

     SimulationMetadata: [1x1 Simulink.SimulationMetadata] 
           ErrorMessage: [0x0 char] 

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

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

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

Используйте объект Simulink.sdi.Run получить доступ к сигналам в выполнении. Затем измените настройки представления сигнала. Этот пример задает цвет линии и стиль для каждого сигнала. Настройки представления для выполнения включают настройки представления для каждого сигнала и просматривают настройки, заданные для области построения.

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

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

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

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

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

snap = Simulink.sdi.CustomSnapshot;

Можно использовать свойства объекта Simulink.sdi.CustomSnapshot сконфигурировать настройки графика, как размещение подграфика и пределы по осям, и построить сигналы. Когда вы используете объект 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)

Используйте Simulink.sdi.snapshot, чтобы сгенерировать фигуру, которую вы задали в свойствах объекта Simulink.sdi.CustomSnapshot.

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

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

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

set_param('vdp/Mu','Gain','5')
sim('vdp')
ans = 
  Simulink.SimulationOutput:

                   yout: [1x1 Simulink.SimulationData.Dataset] 

     SimulationMetadata: [1x1 Simulink.SimulationMetadata] 
           ErrorMessage: [0x0 char] 

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

Чтобы создать график новых выходных данных, который похож на тот, который вы создали на предыдущем шаге, можно скопировать настройки представления в выполнение в одной строке кода с помощью Simulink.sdi.copyRunViewSettings. Функция Simulink.sdi.copyRunViewSettings автоматически не обновляет настройки графика в объектах Simulink.sdi.CustomSnapshot, поэтому задает вход plot как false.

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

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

Используйте объект 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");

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

свернуть все

Аргументы в виде пар имя-значение

Укажите необязательные аргументы в виде пар ""имя, значение"", разделенных запятыми. Имя (Name) — это имя аргумента, а значение (Value) — соответствующее значение. Name должен появиться в кавычках. Вы можете задать несколько аргументов в виде пар имен и значений в любом порядке, например: Name1, Value1, ..., NameN, ValueN.

Пример: 'to','figure','props',{'Name','My Data'}

Содержимое, чтобы включать в снимок состояния.

  • 'opened' — Включайте все подграфики в графическую область просмотра открытого Инспектора Данных моделирования сеанс.

  • 'active' — Включайте только активный (выбранный) подграфик в открытого Инспектора Данных моделирования сеанс.

  • 'comparison' — Включайте графики сравнения для выбранного запущенного сравнения или сигнал в открытом Инспекторе Данных моделирования сеанс.

  • 'custom' — Включайте содержимое, заданное объектом Simulink.sdi.CustomSnapshot пары "имя-значение" settings. Можно использовать опцию 'from','custom', чтобы создать снимок состояния, не открывая Инспектора Данных моделирования или влияя открытого Инспектора Данных моделирования сеанс. Включайте пару "имя-значение" settings, когда вы зададите 'from','custom'.

Пример: 'from','comparison'

Типы данных: char | string

Тип снимка состояния, чтобы создать.

  • изображение Создайте фигуру и возвратите указатель фигуры и массив данных изображения. Когда вы задаете 'to','image', fig и image выходные параметры, у обоих есть значение.

  • фигура Создайте фигуру и возвратите указатель фигуры. Когда вы задаете 'to','figure' fig, вывод имеет значение и image, вывод пуст.

  • 'file' — Сохраните в файл PNG с именем, заданным парой "имя-значение" filename. Если вы не задаете пару "имя-значение" filename, файл называют plots.png. Когда вы задаете 'to','file', fig и image, выходные параметры оба пусты.

  • буфер обмена Скопируйте графики в свой системный буфер обмена. От буфера обмена можно вставить изображение в другую программу, такую как Microsoft® Word. Когда вы задаете 'to','clipboard', fig и image, выходные параметры оба пусты.

Пример: 'to','file'

Типы данных: char | string

Имя файла изображения, чтобы сохранить снимок состояния, когда вы задаете 'to','file'.

Пример: 'filename','MyImage.png'

Типы данных: char | string

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

Пример: 'props',{'Name','MyData','NumberTitle','off'}

Типы данных: char | string

Объект Simulink.sdi.CustomSnapshot, задающий пользовательские настройки снимка состояния. Можно использовать пару "имя-значение" settings, чтобы задать размерности изображения в пикселях, размещении подграфика и пределах для x-и осей Y.

Пример: 'settings',customSnap

Типы данных: char | string

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

свернуть все

Обработайте для фигуры. Когда фигура не создается с вашими заданными опциями, fig, вывод пуст.

Массив данных изображения. Вывод image имеет значение, когда вы используете Simulink.sdi.snapshot без любых входных параметров или без пары "имя-значение" to и когда вы задаете 'to','image'.

Введенный в R2018a