снимок состояния

Класс: Simulink.sdi. CustomSnapshot
Пакет: Simulink.sdi

Создайте пользовательский снимок состояния

Синтаксис

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

Описание

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

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

fig = snap.snapshot(Name,Value) создает фигуру согласно свойствам объекта Simulink.sdi.CustomSnapshot, snap, с дополнительными опциями, заданными одним или несколькими аргументами пары Name,Value. Этот синтаксис возвращает указатель фигуры, fig.

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

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

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

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

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

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

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

  • изображение Создайте фигуру и возвратите указатель фигуры и массив данных изображения. Когда вы задаете '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

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

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

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

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

Введенный в R2018a

Для просмотра документации необходимо авторизоваться на сайте