exponenta event banner

subsasgn

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

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

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

Описание

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

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

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

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

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

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

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

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

В назначении не используются имена наблюдений, имена переменных или другие свойства B для изменения свойств A; однако свойства A расширены значениями по умолчанию, если назначение расширяет число наблюдений или переменных в A. Элементы B назначены в A по положению, а не по совпадающим именам.

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

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

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

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

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

  • 'ObsNames'

  • 'VarNames'

  • 'Description'

  • 'Units'

  • 'DimNames'

  • 'UserData'

  • 'VarDescription'

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

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

Аналогично, если переменная набора данных является массивом ячеек с несколькими столбцами или является n-D массив ячеек, то содержимое этой переменной для одного наблюдения состоит из нескольких ячеек, и вы не можете назначить их всем с помощью синтаксиса A{1,'CellVar'} = B. Использование нескольких назначений формы [A.CellVar{1,1}] = B вместо этого.

См. также

| |