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 выводит double, 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, чтобы задать параметр Input.

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

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

sim(mdl)

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

свернуть все

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

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

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

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

свернуть все

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

Введенный в R2017a