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'}.

Смотрите также

| |