Simulink.SimulationData.DatasetRef class

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

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

Описание

Использовать ссылку в доступе к Simulink.SimulationData.Dataset объект, хранивший в MAT-файле, создайте Simulink.SimulationData.DatasetRef объект. Можно использовать эту ссылку, чтобы не исчерпывать память, путем получения сигнала данных сигналом, для данных, которые вы регистрируете к персистентному устройству хранения данных. Можно передать потоком DatasetRef объект во входной порт корневого уровня или можно использовать его, чтобы создать SimulationDatastore возразите, чтобы использовать в потоковой передаче. Для получения дополнительной информации смотрите Загрузку Большие данные для Симуляций.

Для параллельных симуляций, для которых вы задаете массив Simulink.SimulationInput объекты, если вы регистрируете к файлу, Simulink®:

  • Создает Simulink.SimulationData.DatasetRef объекты получить доступ к выходным данным в MAT-файле и включают те объекты в SimulationOutput данные объектов

  • Включает CaptureErrors аргумент для симуляции

Конструкция

DSRefObj = Simulink.SimulationData.DatasetRef(location,identifier) создает ссылку на содержимое Simulink.SimulationData.Dataset переменная сохранена в MAT-файле.

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

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

MAT-файл, содержащий Simulink.SimulationData.Dataset возразите, чтобы сослаться в виде вектора символов. Вектор символов является путем к MAT-файлу. Не используйте имя файла от одной локали в различной локали.

Имя Simulink.SimulationData.Dataset переменная в MAT-файле в виде вектора символов. Когда вы регистрируете к персистентному устройству хранения данных, Simulink использует имена переменных, заданные в каждом виде логгирования.

Предположим, что вы используете имя переменной по умолчанию в логгировании сигнала (logsout) и MAT-файл по умолчанию называет для персистентного логгирования устройства хранения данных (mat.out), После того, как вы симулируете модель, затем чтобы создать ссылку на Dataset объект для логгирования сигнала, в командной строке MATLAB®, введите:

sigLogRef = Simulink.SimulationData.DatasetRef('out.mat','logsout');

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

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

Ссылка на логгирование набора данных, возвращенного как Simulink.SimulationData.DatasetRef объект.

Свойства

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

MAT-файл, содержащий Simulink.SimulationData.Dataset возразите, чтобы сослаться в виде вектора символов. Вектор символов является путем к MAT-файлу. Включайте .mat расширение в имени файла. Не используйте имя файла от одной локали в различной локали.

Имя Simulink.SimulationData.Dataset переменная в MAT-файле в виде вектора символов. Когда вы регистрируете к персистентному устройству хранения данных, Simulink использует имена переменных, заданные в каждом виде логгирования (например, 'logsout' для данных о регистрации сигнала).

Методы

Используйте numElements, getElement, и getElementNames методы для Simulink.SimulationData.DatasetRef возразите тому же способу, которым вы используете те методы в Simulink.SimulationData.Dataset объект.

Метод

Цель

numElements

Получите число элементов от набора данных

getElementNames

Возвратите имена всех элементов в наборе данных

get

get метод является псевдонимом для getElement метод.

Примечание

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

Получите элемент от набора данных

getAsDatastore

Получите matlab.io.datastore.SimulationDatastore представление элемента от DatasetRef объект

getDatasetVariableNames

Перечислите имена Dataset переменные в MAT-файле

plot

Отобразите данные на графике в Инспекторе Данных моделирования

Совет

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

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

Можно скопировать DatasetRef свойства объектов значением. Однако копирование DatasetRef объект производит объект указателя. Копирование DatasetRef объект не копирует данные в MAT-файле что ссылки на объект. Для получения дополнительной информации об операциях копии, смотрите Копирование Объектов (MATLAB) в документации MATLAB.

Примеры

свернуть все

В этом примере показано, как создать и использовать Simulink.SimulationData.DatasetRef объекты получить доступ к данным для модели, которая регистрирует к персистентному устройству хранения данных. Этот простой пример показывает основные шаги для логгирования к персистентному устройству хранения данных. Этот пример не представляет реалистическую ситуацию для логгирования к персистентному устройству хранения данных, потому что это показывает короткую симуляцию с небольшими требованиями к памяти.

Откройте vdp модель.

В Configuration Parameters> панель Data Import/Export, выберите эти параметры:

  • States

  • Log Dataset data to file

Установите параметр Format на Dataset.

Оставьте другие установки параметров, как они и нажимают Apply.

В модели кликните по сигналу и от строки меню, выберите Enable Data Logging.

Симулируйте модель.

Получите список Dataset имена переменных в out.mat файл.

varNames = Simulink.SimulationData.DatasetRef.getDatasetVariableNames('out.mat')
varNames = 

  1x2 cell array

  'logsout'   'xout'

Создайте ссылку на регистрируемые данные о состояниях, которые хранятся в out.mat. Переменной для регистрируемых данных о состояниях является xout.

statesLogRef = Simulink.SimulationData.DatasetRef('out.mat','xout')
statesLogRef = 

  Simulink.SimulationData.DatasetRef
  Characteristics:
          Location: out.mat (/my_files/out.mat)
        Identifier: xout

  Resolved Dataset: 'xout' with 2 elements

       Name  BlockPath 
       ____  _________ 
    1  ''    vdp/x1   
    2  ''    vdp/x2   

Создайте ссылку на данные о регистрации сигнала, которые хранятся в out.mat. Переменной для данных о регистрации сигнала является logsout.

sigLogRef = Simulink.SimulationData.DatasetRef('out.mat','logsout')
sigLogRef = 

  Simulink.SimulationData.DatasetRef
  Characteristics:
          Location: out.mat (/my_files/out.mat)
        Identifier: logsout

  Resolved Dataset: 'logsout' with 1 element

       Name  BlockPath 
       ____  _________ 
    1  x1    vdp/x1   

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

statesLogRef.numElements
ans =

     2

Используйте DatasetRef получить доступ к первому элементу сигнала, регистрирующего набор данных.

sigLogRef{1}
ans = 

  Simulink.SimulationData.Signal
  Package: Simulink.SimulationData

  Properties:
              Name: 'x1'
    PropagatedName: ''
         BlockPath: [1x1 Simulink.SimulationData.BlockPath]
          PortType: 'outport'
         PortIndex: 1
            Values: [1x1 timeseries]


  Methods, Superclasses

Удалите персистентный MAT-файл устройства хранения данных и попытку использовать один из DatasetRef объекты.

delete('out.mat');
statesLogRef.get(1)
File does not exist.

statesLogRef все еще существует, но это - ссылка на Dataset объект, который находится в файле, который больше не существует.

Введенный в R2016a