Simulink.sdi.copyRunViewSettings

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

Описание

пример

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

Примеры

свернуть все

В этом примере показано, как скопировать настройки представления из одного запуска в другой и как создать рисунки с помощью Simulink.sdi.CustomSnapshot объект.

Симулируйте модель и получите объект запуск

Сконфигурируйте vdp модель для сохранения выходных данных и запуска симуляции для создания данных.

load_system('vdp')
set_param('vdp','SaveFormat','Dataset','SaveOutput','on')
set_param('vdp/Mu','Gain','1');
sim('vdp');

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

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 = ':';

Захват снимка из Данных моделирования Inspector

Создайте Simulink.sdi.CustomSnapshot объект и использовать Simulink.sdi.snapshot функция для программного захвата моментального снимка содержимого Данных моделирования Inspector.

snap = Simulink.sdi.CustomSnapshot;

Можно использовать свойства Simulink.sdi.CustomSnapshot объект, чтобы сконфигурировать настройки графика, такие как размещения подграфика и пределы по осям, и построить сигналы. Когда вы используете Simulink.sdi.CustomSnapshot объект для создания рисунка, эти настройки графика не влияют на Данные моделирования Inspector.

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 значение. Для доступа к данным моделирования используйте программный интерфейс Simulation Data Inspector.

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. The 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.

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

свернуть все

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

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

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

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

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

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

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

свернуть все

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

Введенный в R2016a