Класс: набор данных
Преобразованное в нижний индекс присвоение на массив набора данных
Тип данных 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 вместо этого.