subsref

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

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

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

См. также

| |