exponenta event banner

subsref

Класс: набор данных

(Не рекомендуется) Подстрочная ссылка для массива наборов данных

dataset тип данных не рекомендуется. Для работы с разнородными данными используйте MATLAB ®table вместо этого тип данных. См. MATLAB table для получения дополнительной информации.

Синтаксис

B = subsref(A,S)

Описание

B = subsref(A,S) вызывается для синтаксиса A(i,j), A{i,j}, или A.var когда A является массивом наборов данных. S - структурный массив с полями:

typeСимвольный вектор, содержащий '()', '{}', или '.' указание типа подстрочного индекса.
subsМассив ячеек или вектор символов, содержащий фактические подстрочные индексы.

B = A(i,j) возвращает массив наборов данных, содержащий подмножество наблюдений и переменных в массиве наборов данных, A. i и j являются одним из следующих типов:

  • положительные целые числа

  • векторы положительных целых чисел

  • имена наблюдений/переменных

  • массивы ячеек, содержащие одно или несколько имен наблюдения/переменных

  • логические векторы

B содержит те же значения свойств, что и A, поднабор для наблюдений или переменных, где это уместно.

B = A{i,j} возвращает элемент переменной набора данных. i и j положительные целые числа или логические векторы. Индексирование ячеек не может возвращать несколько элементов набора данных, то есть подстрочных индексов i и j каждый должен ссылаться только на одно наблюдение или переменную. A{i,j} также может сопровождаться дальнейшим индексированием, поддерживаемым переменной.

Для переменных набора данных, которые являются массивами ячеек, выражения, такие как A{1,'CellVar'} вернуть содержимое ссылочного элемента набора данных таким же образом, как {}-индексация в обычном массиве ячеек. Если переменная набора данных является одним столбцом ячеек, возвращается содержимое одной ячейки. Если переменная набора данных имеет несколько столбцов или n-D, возвращается несколько выходов, содержащих содержимое нескольких ячеек.

Для переменных набора данных, которые являются n-D массивов, т.е. каждое наблюдение является матрицей или массивом, выражениями, такими как A{1,'ArrayVar'} вернуть A.ArrayVar(1,:,...) с отжатым передним одиночным размером.

B = A.var или A.(varname) возвращает переменную набора данных. var - литерал имени переменной, или varname - символьная переменная, содержащая имя переменной. A.var или A.(varname) также может сопровождаться дальнейшим индексированием, поддерживаемым переменной. В частности, A.var(obsnames,...) и A.var{obsnames,...} (при поддержке var) предоставляют подстрочный индекс в переменную набора данных с использованием имен наблюдений.

P = A.Properties.propertyname возвращает свойство набора данных. propertyname является одним из следующих:

  • 'ObsNames'

  • 'VarNames'

  • 'Description'

  • 'Units'

  • 'DimNames'

  • 'UserData'

  • 'VarDescription'

A.properties.propertyname также может сопровождаться дальнейшим индексированием, поддерживаемым свойством.

Ограничения

Подстрочные выражения, такие как A.CellVar{1:2}, A.StructVar(1:2).field, или A.Properties.ObsNames{1:2} являются действительными, но приводят к subsref возвращает несколько выходов в виде списка, разделенного запятыми. Например, при явном назначении выводимым аргументам в левой части присвоения: [cellval1,cellval2] = A.CellVar{1:2}, эти переменные получат соответствующие значения. Однако при отсутствии аргументов вывода возвращается только первый вывод в списке, разделенном запятыми.

Аналогично, если переменная набора данных является массивом ячеек с несколькими столбцами или является n-D массив ячеек, затем подстрочные выражения, такие как A{1,'CellVar'} результат в subsref возвращает содержимое нескольких ячеек. Необходимо явно присвоить выводимым аргументам в левой части присвоения, например: [cellval1,cellval2] = A{1,'CellVar'}.

См. также

| |