createInputDataset

Сгенерируйте объект набора данных для корневого уровня Inport или соедините шиной порты элемента в модели

Описание

пример

[inports_dataset] = createInputDataset(model) генерирует Simulink.SimulationData.Dataset объект от корневого уровня блоки Inport или порты элемента шины в модели. Сигналы в сгенерированном наборе данных имеют свойства корневого импорта и соответствующих наземных значений в запуске модели и временах остановки. Можно создать timetable или timeseries объекты в течение времени и значения для сигналов, для которых вы хотите загрузить данные для симуляции. Другие сигналы используют наземные значения.

[inports_dataset] = createInputDataset(model,'DatasetSignalFormat',signalFormat) генерирует Simulink.SimulationData.Dataset возразите, чьими элементами сигнала набора данных сигнала является любой timeseries или timetable.

Примеры

свернуть все

В этом примере показано, как создать набор данных с элементами для четырех Inport блоков корневого уровня в модели. Используйте тот набор данных в качестве базиса для создания набора данных, чтобы загрузить данные сигнала в модель.

Блок In1 выводит двойное, In2 и In3 каждый выход невиртуальная шина и In4 выводит int16.

mdl = 'ex_dataset_for_inports';
open_system(mdl)

Создайте Dataset объект для корневого уровня Inport блоки.

ds = createInputDataset(mdl)
ds = 

Simulink.SimulationData.Dataset '' with 4 elements

                             Name  BlockPath 
                             ____  _________ 
    1  [1x1 timeseries]      In1   ''       
    2  [1x1 struct    ]      In2   ''       
    3  [1x1 struct    ]      In3   ''       
    4  [1x1 timeseries]      In4   ''       

  - Use braces { } to access, modify, or add elements using index.

Замените значение заполнителя для первого сигнала в Dataset с фактическими значениями сигналов, которые вы хотите загрузить в модель.

ds{1} = ds{1}.delsample('Index',[1,2]);
ds{1} = ds{1}.addsample('time',[1 3 3 10]','data',[1 1 5 5]');

Исследуйте In2 сигнал.

ds{2}
ans = 

  struct with fields:

    a: [1x1 timeseries]
    b: [1x1 timeseries]

Для In2 , создайте данные для элементов шины a и b.

ds{2}.a = ds{2}.a.delsample('Index',[1,2]);
ds{2}.a = addsample(ds{2}.a,'time',[1:10]','data',[1:10]');
ds{2}.b = timeseries((1:10)',0.1:.1:1,'Name','sig2_b');

Для In3, задайте данные для элемента a из шины и использования основывают значения для элемента b.

ds{3}.a = timeseries((1:10)',0.1:.1:1,'Name','sig3_a');

Постройте ds.

plot(ds)

Установите Входной параметр конфигурации на ds. В качестве альтернативы можно использовать инструмент Root Inport Mapper, чтобы установить Входной параметр.

set_param(mdl,'LoadExternalInput','on');
set_param(mdl,'ExternalInput','ds');

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

sim(mdl)

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

свернуть все

Модель, для которой можно сгенерировать набор данных с элементом для каждого блока Inport корневого уровня в виде вектора символов или указателя модели.

Формат сигнала для набора данных сигнализирует об элементах в виде 'timedata' или 'timeseries'.

Типы данных: char | string

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

свернуть все

Набор данных с элементом для каждого блока Inport корневого уровня, возвращенного как Simulink.SimulationData.Dataset объект.

Введенный в R2017a