Documentation |
Subscripted assignment
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 assigns the values of b into the elements of a specified by the subscript vector I. b must have the same number of elements as I or be a scalar value.
a(I,J) = b assigns the values of b into the elements of the rectangular submatrix of a specified by the subscript vectors I and J. b must have LENGTH(I) rows and LENGTH(J) columns.
A colon used as a subscript, as in a(I,:) = b or a(:,I) = b indicates the entire column or row.
For multidimensional arrays, a(I,J,K,...) = b assigns b to the specified elements of a. b must be length(I)-by-length(J)-by-length(K)-... or be shiftable to that size by adding or removing singleton dimensions.
a = subsasgn(a,S,b) is called for the syntax a(i)=b, a{i}=b, or a.i=b when a is an object. S is a structure array with the following fields:
type — String containing '()', '{}', or '.' specifying the subscript type
subs — Cell array or string containing the actual subscripts
For instance, the syntax a(1:2,:) = b calls a=subsasgn(a,S,b) where S is a 1-by-1 structure with S.type='()' and S.subs = {1:2,':'}. A colon used as a subscript is passed as the string ':'.
You can use fixed-point assignment, for example a(:) = b, to cast a value with one numerictype object into another numerictype object. This subscripted assignment statement assigns the value of b into a while keeping the numerictype object of a. Subscripted assignment works the same way for integer data types.