Simulink.sdi.addToRun

Добавьте один или несколько сигналов в существующее выполнение

Синтаксис

sigIDs = Simulink.sdi.addToRun(runID,'vars',var,var2,...,varn)
sigIDs = Simulink.sdi.addToRun(runID,'namevalue',sourceNames,dataValues)

Описание

пример

sigIDs = Simulink.sdi.addToRun(runID,'vars',var,var2,...,varn) добавляют данные в переменных var,var2,...,varn к выполнению, соответствующему runID, и возвращают идентификаторы сигнала для сигналов, добавленных к выполнению.

пример

sigIDs = Simulink.sdi.addToRun(runID,'namevalue',sourceNames,dataValues) добавляют данные в массиве ячеек dataValues к выполнению, соответствующему runID, и возвращают идентификаторы сигнала для сигналов, добавленных к выполнению. Аргумент sourceNames задает имена, чтобы использовать для источника данных в dataValues в метаданных сигнала.

Примеры

свернуть все

Этот пример показывает, как использовать Simulink.sdi.addToRun, чтобы добавить данные о рабочей области в выполнение в Инспекторе Данных моделирования.

Сгенерируйте данные о рабочей области

Сгенерируйте данные о рабочей области, чтобы добавить к симуляции, запущенной вместо результатов измерений, входных данных или любых других данных, которые вы хотите сопоставить с симуляцией.

time = linspace(0, 60, 201);
cos_vals = 2*cos(2*pi/6.8*time);
cos_ts = timeseries(cos_vals, time);
cos_ts.Name = 'cosine';

Моделируйте модель

Моделируйте модель slexAircraftExample, чтобы создать выполнение, содержащее симуляцию выходные параметры.

load_system('slexAircraftExample');
sim('slexAircraftExample','SaveFormat','Dataset');

Добавьте данные о рабочей области в выполнение симуляции

Добавьте данные о рабочей области в выполнение. Затем просмотрите результаты в Инспекторе Данных моделирования.

% Get run ID
count = Simulink.sdi.getRunCount;
runID = Simulink.sdi.getRunIDByIndex(count);

% Add data to run
sigIDs = Simulink.sdi.addToRun(runID,'vars',cos_ts);

Simulink.sdi.view

Модель slexAircraftExample сконфигурирована, чтобы регистрировать выходные параметры, состояния и данные времени. Выходные данные автоматически регистрируют Инспектору Данных моделирования, а также базовому рабочему пространству, но данные о состояниях не делают. Чтобы принести данные о состояниях в Инспектора Данных моделирования, можно записать данные, или можно добавить его в выполнение, созданное путем симуляции модели. Этот пример показывает, как добавить, регистрировал данные о состояниях Инспектору Данных моделирования, запущенному программно.

Моделируйте модель и получите данные о состояниях

Моделируйте модель с помощью функции sim с набором 'ReturnWorkspaceOutputs' к 'on'. Выберите данные о состояниях, xout, от симуляции выходные параметры.

load_system('slexAircraftExample')

simOut = sim('slexAircraftExample','ReturnWorkspaceOutputs','on',...
    'SaveFormat','Dataset');

% Get states data from simulation output
states = simOut.xout;

Получите ID выполнения

Поскольку выходные данные автоматически регистрируют Инспектору Данных моделирования, выполнение создается после симуляции slexAircraftExample. Получите ID выполнения для выполнения с помощью Инспектора Данных моделирования программируемый интерфейс.

runIDs = Simulink.sdi.getAllRunIDs;
runID = runIDs(end);

Добавьте данные о состояниях в выполнение

Добавьте данные о состояниях в выполнение с выходными данными.

sigIDs = Simulink.sdi.addToRun(runID,'namevalue',{'States'},{states});

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

свернуть все

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

Данные о рабочей области, чтобы добавить к выполнению. Simulink.sdi.addToRun поддерживает всю загрузку и журналирование форматов данных, включая timeseries и Simulink.SimulationData.Dataset. Обеспечьте одни или несколько входных параметров var, когда вы зададите 'vars' в качестве второго аргумента.

Пример: myData

Имена, чтобы использовать в качестве источника данных в метаданных для добавленных сигналов. Обеспечьте вход sourceNames, когда вы зададите 'namevalue' в качестве второго аргумента.

Пример: {'speed','position'}

Массив ячеек данных, чтобы добавить к выполнению. Обеспечьте вход dataValues, когда вы зададите 'namevalue' в качестве второго аргумента.

Пример: {sig1,sig2}

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

свернуть все

Матрица идентификаторов сигнала для сигналов, добавленных к выполнению.

Представленный в R2011b