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

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

Создайте Simulink. SimulationData. Объект Dataset

Описание

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

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

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

  • Журналирование хранилища данных

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

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

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

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

  • временные ряды

  • расписание

  • matlab.io.datastore. SimulationDatastore

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

  • временные ряды

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

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

  • Объект MATLAB® timeseries

  • Объект MATLAB timetable

  • Объект matlab.io.datastore.SimulationDatastore

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

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

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

Сигналы переменного размера не поддержаны для значений данных Dataset.

Конструкция

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

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

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

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

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

  • Массив

  • Структура

    Примечание

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

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

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

  • Структура элементов timeseries MATLAB

  • ModelDataLogs

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

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

Укажите необязательные аргументы в виде пар ""имя, значение"", разделенных запятыми. Имя (Name) — это имя аргумента, а значение (Value) — соответствующее значение. Имя должно появиться в кавычках. Вы можете задать несколько аргументов в виде пар имен и значений в любом порядке, например: Name1, Value1, ..., NameN, ValueN.

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

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

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

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

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

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

Свойства

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

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

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

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

Методы

addElementДобавьте элемент к концу набора данных
concatКонкатенация набора данных к другому набору данных
нахождениеПолучите элемент или набор элементов от набора данных
получениеПолучите элемент или набор элементов от набора данных
getElementNamesВозвратите имена всех элементов в наборе данных
numElementsПолучите число элементов в наборе данных
графикПостройте график элементов набора данных в окне Signal Preview или Моделировании Data Inspector
setElementИзмените элемент, сохраненный в заданном индексе

Совет

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

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

Значение. Чтобы изучить, как классы значения влияют на операции копии, смотрите Копирование Объектов (MATLAB).

Примеры

свернуть все

Преобразуйте данные от два До блоков Рабочей области, преобразуйте в формат Dataset и конкатенируйте их. myvdp является моделью vdp с два К блокам Рабочей области с переменными под названием 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

Была ли эта тема полезной?