Назначение по подписке
a(I) = b
a(I,J) = b
a(I,:) = b
a(:,I)
= b
a(I,J,K,...) = b
a = subsasgn(a,S,b)
a(I) = b присваивает значения b в элементы a задается индексным вектором I. b должно иметь то же количество элементов, что и I или быть скалярным значением.
a(I,J) = b присваивает значения b в элементы прямоугольной подматрицы a задается индексом векторов I и J. b должно иметь LENGTH(I) строки и LENGTH(J) столбцы.
Двоеточие, используемое в качестве индекса, как в a(I,:) = b или a(:,I)
= b указывает весь столбец или строку.
Для многомерных массивов, a(I,J,K,...) = b присваивает b к указанным элементам a. b должен быть length(I)-by- length(J)-by- length(K)-... или быть сдвинутым к этому размеру путем добавления или удаления синглтонных размерностей.
a = subsasgn(a,S,b) вызывается для синтаксиса a(i)=b, a{i}=b, или a.i=b когда a является объектом. S представляет собой массив структур со следующими полями:
type - Одно из следующего: '()', '{}', или '.' определение типа индекса
нижние индексы - массив ячеек или вектор символов, содержащий фактические индексы
Например, синтаксис a(1:2,:) = b вызывает a=subsasgn(a,S,b) где S - структура 1 на 1 с S.type='()' и S.subs = {1:2,':'}. Двоеточие, используемое в качестве индекса, передается как ':'.
Можно использовать назначение с фиксированной точкой, например a(:) = b, чтобы задать значение с одним numerictype объект в другой numerictype объект. Этот подписанный оператор назначения присваивает значение b в a при сохранении numerictype объект a. Подписанное назначение работает так же и для целочисленных типов данных.