Simulink.SimulationData.Dataset class

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

Создайте Simulink объект .SimulationData. Набор данных

Описание

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

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

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

  • Логгирование хранилища данных

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

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

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

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

  • timeseries

  • timetable

  • matlab.io.datastore.SimulationDatastore

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

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

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

  • MATLAB® timeseries объект

  • A MATLAB timetable объект

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

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

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

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

    • Система координат nx1 массив для корневого входного порта, который управляет подсистемой вызова функций.

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

Конструкция

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

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

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

расширить все

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

  • Массив

  • Структура

    Примечание

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

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

  • Временные ряды MATLAB

  • Структура элементов timeseries 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'

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

Методы

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

Совет

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

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

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

Примеры

свернуть все

Преобразуйте данные из двух блоков В Рабочую область, преобразуйте в Dataset форматировать и конкатенировать их. myvdp является vdp модель с двумя блоками To Workspace с переменными с именем simout и simout1. Эти блоки регистрируют данные в формате timeseries.

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