Simulink.sdi.copyRunViewSettings

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

Синтаксис

sigIDs = Simulink.sdi.copyRunViewSettings(run1,run2,plot)

Описание

пример

sigIDs = Simulink.sdi.copyRunViewSettings(run1,run2,plot) копирует стиль линии и спецификации цветов от runID1 до runID2 для совпадающих сигналов. Можно задать run1 и run2 с их ID выполнения или как объект Simulink.sdi.Run. Если plot задан как true, Simulink.sdi.copyRunViewSettings также изменяет параметры сигнала в обоих выполнениях так, чтобы выровненные сигналы, которые построены, прибыли из run2. Функция возвращает массив идентификаторов сигнала для сигналов что Инспектор Данных моделирования, выровненный между двумя выполнениями. Чтобы узнать больше, как Инспектор Данных моделирования выравнивает сигналы между выполнениями, смотрите, Как Инспектор Данных моделирования Сравнивает Данные.

Примеры

свернуть все

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

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

свернуть все

Запуститесь с настройками представления, которые вы хотите скопировать заданный с его объектом ID или Simulink.sdi.Run выполнения. Инспектор Данных моделирования присваивает идентификаторы выполнения, когда они создают выполнения. Можно получить ID выполнения для выполнения с помощью Simulink.sdi.getAllRunIDs или Simulink.sdi.getRunIDByIndex.

Запуститесь вы хотите скопировать настройки представления в, заданный с его объектом ID или Simulink.sdi.Run выполнения. Инспектор Данных моделирования присваивает идентификаторы выполнения, когда они создают выполнения. Можно получить ID выполнения для выполнения с помощью Simulink.sdi.getAllRunIDs или Simulink.sdi.getRunIDByIndex.

Задает, изменяет ли Инспектор Данных моделирования настройки графика в выполнениях, соответствующих run1 и run2.

  • Когда plot является true, Инспектор Данных моделирования изменяет параметры сигнала так, чтобы выровненные сигналы, которые построены, прибыли из run2.

  • Когда plot является false, Инспектор Данных моделирования не изменяется, какие сигналы построены.

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

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

свернуть все

Матрица, содержащая идентификаторы сигнала для сигналов в run2, который выровнялся с сигналами в run1 и имел измененные настройки представления.

Введенный в R2016a