Преобразованное в нижний индекс присвоение
называется для синтаксиса A
= subsasgn(A
,S
,B
)A(i) = B
, A{i} = B
, или A.i = B
когда A
объект.
MATLAB® использует встроенное subsasgn
функция, чтобы интерпретировать индексированные операторы присваивания:
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)
- length(j)
- length(k)
- … или быть подвижным к тому размеру путем добавления или удаления одноэлементных размерностей.
Совет
Можно использовать присвоение фиксированной точки, например, A(:) = B
, бросать значение с одним числовым типом в другой числовой тип. Этот преобразованный в нижний индекс оператор присваивания присваивает значение B
в A
при хранении числового типа A
. Преобразованное в нижний индекс присвоение работает одинаково для целочисленных типов данных.
Примечание
Необходимо вызвать subsasgn
с выходным аргументом. subsasgn
не изменяет объект, используемый в операции индексации (первый аргумент). Необходимо присвоить выход, чтобы получить модифицированный объект.