exponenta event banner

Simulink.sdi.copyRunViewSettings

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

Описание

пример

sigIDs = Simulink.sdi.copyRunViewSettings(run1,run2,plot) копирует стиль линии и параметры цвета из runID1 кому runID2 для согласованных сигналов. Можно указать run1 и run2 с их идентификатором запуска или в качестве 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');

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

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.

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

свернуть все

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

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

Указывает, изменяет ли инспектор данных моделирования параметры печати на участках, соответствующих run1 и run2.

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

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

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

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

свернуть все

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

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