exponenta event banner

Simulink. SimulationData. Класс набора данных

Пакет: Simulink. SimulationData
Суперклассы:

Создание объекта Simulink.TalkedData.Dataset

Описание

Simulink ® создаетSimulink.SimulationData.Dataset объекты для хранения элементов данных в следующих случаях:

  • Выполнение регистрации сигналов, которые используют Dataset формат

  • Ведение журнала состояний или выходов, если используется формат по умолчанию Dataset.

  • Ведение журнала хранилища данных

Использование Dataset формат для регистрации состояния и вывода имеет несколько преимуществ по сравнению с Array, Structure, или Structure with time. Дополнительные сведения см. в разделе Формат информации о состоянии, сохраненной без операционной точки.

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

Можно использовать фигурные скобки ({}) для оптимизации синтаксиса индексирования для доступа, установки и добавления элементов в наборе данных вместо использования get, getElement, setElement, или addElement методы. Чтобы получить или задать элемент с помощью фигурных скобок, индекс должен быть скаляром, не превышающим число элементов в переменной набора данных. Чтобы добавить элемент, индекс должен быть скаляром, превышающим общее число элементов в наборе данных на единицу. get, getElement, setElement, или addElement методы поддерживают указание элемента по имени или пути блока, а также по индексу.

Для отдельных данных сигналов, не относящихся к шине, можно указать эти типы данных для Dataset элементы:

  • timeseries

  • timetable

  • matlab.io.datastore.SimulationDatastore

  • double векторы или структура double данные

  • a Simulink.SimulationData.Signal, Simulink.SimulationData.State, или Simulink.SimulationData.DataStoreMemory объект

Для сигналов шины используйте структуру с элементом данных для каждого листового сигнала, используя один из следующих форматов:

  • A MATLAB ®timeseries объект

  • MATLAB timetable объект

  • A matlab.io.datastore.SimulationDatastore объект

  • Пустая матрица

  • Массив, удовлетворяющий одному из следующих требований:

  • Другая структура, с элементами данных для каждого сигнала, которые согласуются с этими требованиями для структуры для данных шины

Строительство

convertedDataset = Simulink.SimulationData.Dataset(loggedDataToConvert) преобразует loggedDataToConvert в Simulink.SimulationData.Dataset объект. Затем можно использовать concat способ объединения элементов двух Dataset объекты.

constructedDataset = Simulink.SimulationData.Dataset(variableName,'DatasetName','dsname') создает Simulink.SimulationData.Dataset объект, добавляет переменную variableNameи называет набор данных dsname.

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

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

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

  • Множество

  • Структура

    Примечание

    Входные данные структуры не могут быть массивами или матрицами.

  • Структура со временем

  • Временной ряд MATLAB

  • Структура элементов временных рядов MATLAB

  • ModelDataLogs

Переменная для добавления в набор данных, заданная как символьный вектор.

Аргументы пары «имя-значение»

Укажите дополнительные пары, разделенные запятыми Name,Value аргументы. Name является именем аргумента и Value - соответствующее значение. Name должен отображаться внутри кавычек. Можно указать несколько аргументов пары имен и значений в любом порядке как Name1,Value1,...,NameN,ValueN.

Пример: 'DatasetName','dsname'

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

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

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

Преобразованный набор данных, возвращенный как Simulink.SimulationData.Dataset объект.

Построенный набор данных, возвращенный как Simulink.SimulationData.Dataset объект.

Свойства

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

Имя набора данных, указанного в виде символьного вектора или переменной регистрации (например, logsout для регистрации сигналов). Укажите имя, если требуется легко отличить один набор данных от другого. Например, можно сбросить имя при сравнении нескольких моделей. Это свойство предназначено для чтения/записи.

ds = Simulink.SimulationData.Dataset
ds.Name = 'Dataset1'

Общее количество элементов в наборе данных, указанное как двойное. Это свойство доступно только для чтения. Чтобы получить это значение, используйте numElements способ.

Методы

addElementДобавление элемента в конец объекта Dataset
concatОбъединение набора данных с другим набором данных
exportToPreviousReleaseСохранить Dataset объект в MAT-файл, который можно открыть в любом выпуске
найтиПолучение элемента или коллекции элементов из набора данных
добратьсяПолучение элемента или коллекции элементов из набора данных
getElementNamesВозвращаемые имена всех элементов в наборе данных
numElementsПолучение количества элементов в наборе данных
графикПечать данных в инспекторе расчетных данных
setElementЭлемент изменения, сохраненный по указанному индексу

Совет

Чтобы получить имена Dataset переменные в MAT-файле, используя Simulink.SimulationData.DatasetRef.getDatasetVariableNames функциональные процессы быстрее, чем использование who или whos функции.

Копирование семантики

Значение. Сведения о том, как классы значений влияют на операции копирования, см. в разделе Копирование объектов.

Примеры

свернуть все

Преобразовать данные из двух блоков в рабочую область, преобразовать в Dataset форматировать и объединять их. myvdp является vdp модель с двумя блоками в рабочую область с переменными simout и simout1. Они блокируют данные регистрации в формате временных рядов.

mdl = 'myvdp';
open_system(mdl);
sim(mdl)
ds = Simulink.SimulationData.Dataset(simout);
ds1 = Simulink.SimulationData.Dataset(simout1);
dsfinal = concat(ds,ds1)

Использовать синтаксис индексирования фигурных скобок для работы с logsout набор данных регистрации сигналов, содержащий три элемента.

Получить второй элемент logsout набор данных.

logsout{2}

Измените имя третьего элемента.

logsout{3}.Name = 'thirdSignal'

Добавьте четвертый элемент.

time = 0.1*(0:100)';
element4 = Simulink.SimulationData.Signal;
element4.Name = 'C';
element4.Values = timeseries(3*sin(time),time);
logsout{4} = element4
Представлен в R2011a