Simulink.SimulationData.Dataset class

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

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

Описание

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

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

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

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

Используя Dataset формат для состояния и выходного логгирования предлагает несколько преимуществ по сравнению с ArrayСтруктура, или 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 данные

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

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

  • MATLAB® timeseries объект

  • timetable MATLAB объект

  • 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

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

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

Методы

addElementДобавьте элемент в конец объекта Dataset
concatНабор данных Concatenate к другому набору данных
exportToPreviousReleaseСохраните Dataset возразите против MAT-файла, который можно открыть в любом релизе
поискПолучите элемент или набор элементов от набора данных
получениеПолучите элемент или набор элементов от набора данных
getElementNamesВозвратите имена всех элементов в наборе данных
numElementsПолучите число элементов в наборе данных
графикОтобразите данные на графике в Инспекторе Данных моделирования
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