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

Объект ID или Simulink.sdi.Signal сигнала, соответствующий сигналу, вы хотите построить.

Пример: sigID

Логический индикатор того, построить ли или очистить сигнал от подграфика.

  • tRUE Постройте сигнал.

  • ложь Очистите сигнал.

Пример: true

Типы данных: логический

Примеры

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

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