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

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

Создайте Simulink. SimulationData. Объект 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, указывающая элемент по наименованию или блок path, а также индексом.

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

  • timeseries

  • timetable

  • matlab.io.datastore.SimulationDatastore

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

  • timeseries

  • 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) — соответствующее значение. Name должен появиться в кавычках. Вы можете задать несколько аргументов в виде пар имен и значений в любом порядке, например: 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Набор данных Concatenate к другому набору данных
поискПолучите элемент или набор элементов от набора данных
получениеПолучите элемент или набор элементов от набора данных
getElementNamesВозвратите имена всех элементов в наборе данных
numElementsПолучите число элементов в наборе данных
графикПостройте элементы набора данных в окне Signal Preview или Инспекторе Данных моделирования
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