exponenta event banner

Simulink. SimulationData. Класс DatasetRef

Пакет: 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 методы поддерживают указание элемента по имени или пути блока, а также по индексу.

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

getAsDatastore

Добраться matlab.io.datastore.SimulationDatastore представление элемента из DatasetRef объект

getDatasetVariableNames

Список имен Dataset переменные в MAT-файле

plot

Печать данных в инспекторе расчетных данных

Совет

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

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

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

Примеры

свернуть все

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

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

На панели Параметры конфигурации > Импорт/экспорт данных выберите следующие параметры:

  • Государства

  • Запись данных набора данных в файл

Задайте для параметра Format значение Dataset.

Оставьте остальные параметры без изменений и нажмите кнопку «Применить».

В модели щелкните сигнал и на панели действий выберите Включить ведение журнала данных.

Моделирование модели.

Получить список 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