FreeMat
|
Section: Array Generation and Manipulations
FreeMat assignments take a number of different forms, depending on the type of the variable you want to make an assignment to. For numerical arrays and strings, the form of an assignment is either
a(ndx) = val
where ndx
is a set of vector indexing coordinates. This means that the values ndx
takes reference the elements of a
in column order. So, if, for example a
is an N x M
matrix, the first column has vector indices 1,2,...,N
, and the second column has indices N+1,N+2,...,2N
, and so on. Alternately, you can use multi-dimensional indexing to make an assignment:
a(ndx_1,ndx_2,..,ndx_m) = val
where each indexing expression ndx_i
corresponds to the i-th
dimension of a
. In both cases, (vector or multi-dimensional indexing), the right hand side val
must either be a scalar, an empty matrix, or of the same size as the indices. If val
is an empty matrix, the assignment acts like a delete. Note that the type of a
may be modified by the assignment. So, for example, assigning a double
value to an element of a float
array a
will cause the array a
to become double
.
For cell arrays, the above forms of assignment will still work, but only if val
is also a cell array. If you want to assign the contents of a cell in a cell array, you must use one of the two following forms, either
a{ndx} = val
or
a{ndx_1,ndx_2,...,ndx_m} = val
which will modify the contents of the cell.