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 вместо этого.

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

| |