clearSignals

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

Четкие сигналы построены на подграфиках объекта Simulink.sdi.CustomSnapshot

Синтаксис

snap.clearSignals

Описание

snap.clearSignals очищает построенные сигналы от всех подграфиков в объекте Simulink.sdi.CustomSnapshot, snap. Используя clearSignals метод не влияет ни на какие подграфики или сигналы в вашем открытом Инспекторе Данных моделирования сеанс.

Примеры

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

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