exponenta event banner

снимок

Класс: 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 является именем аргумента и Value - соответствующее значение. Name должен отображаться внутри кавычек. Можно указать несколько аргументов пары имен и значений в любом порядке как Name1,Value1,...,NameN,ValueN.

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

Тип создаваемого снимка.

  • 'image' - создание фигуры и возврат дескриптора фигуры и массива данных изображения. При указании 'to','image', fig и image оба выхода имеют значение.

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

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

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

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

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

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

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

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

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

Пример: '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');

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

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);

Figure contains 2 axes. Axes 1 contains an object of type line. This object represents x1. Axes 2 contains an object of type line. This object represents x2.

Копирование параметров вида в новый прогон моделирования

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

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

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");

Figure contains 2 axes. Axes 1 contains an object of type line. This object represents x2. Axes 2 contains an object of type line. This object represents x1.

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