exponenta event banner

plotOnSubPlot

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

Сигналы графика на Simulink.sdi.CustomSnapshot вложенные печати объектов

Синтаксис

snap.plotOnSubPlot(row,column,signal,plot)

Описание

snap.plotOnSubPlot(row,column,signal,plot) строит графики signal на вложенном графике в Simulink.sdi.CustomSnapshot объект, snap, указанный row и column когда plot является true. Когда plot является false, plotOnSubPlot очищает signal из вложенного графика.

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

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

Строка для вложенного графика, на которой требуется построить график сигнала. Определить row как значение от 1 до 8 включительно.

Пример: 2

Столбец для вложенного графика, на который требуется вывести сигнал. Определить column как значение от 1 до 8 включительно.

Пример: 3

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

Пример: sigID

Логический индикатор того, следует ли выводить на график или очищать сигнал от вложенного графика.

  • true - Постройте график сигнала.

  • false - Очистить сигнал.

Пример: true

Типы данных: logical

Примеры

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

В этом примере показано, как копировать параметры вида из одного прогона в другой и как создавать фигуры с помощью 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