Programming and Data Types | ![]() ![]() |
Indexing
Many of the concepts that apply to two-dimensional matrices extend to multidimensional arrays as well.
To access a single element of a multidimensional array, use integer subscripts. Each subscript indexes a dimension-the first indexes the row dimension, the second indexes the column dimension, the third indexes the first page dimension, and so on.
Consider a 10-by-5-by-3 array nddata
of random integers:
To access element (3,2)
on page 2 of nddata
, for example, use nddata(3,2,2)
.
You can use vectors as array subscripts. In this case, each vector element must be a valid subscript, that is, within the bounds defined by the dimensions of the array. To access elements (2,1)
, (2,3)
, and (2,4)
on page 3 of nddata
, use
The Colon and Multidimensional Array Indexing
The MATLAB colon indexing extends to multidimensional arrays. For example, to access the entire third column on page 2 of nddata
, use nddata(:,3,2)
.
The colon
operator is also useful for accessing other subsets of data. For example, nddata(2:3,2:3,1)
results in a 2-by-2 array, a subset of the data on page 1 of nddata
. This matrix consists of the data in rows 2
and 3
, columns 2
and 3
, on the first page of the array.
The colon
operator can appear as an array subscript on both sides of an assignment statement. For example, to create a 4-by-4 array of zeros
Now assign a 2-by-2 subset of array nddata
to the four elements in the center of C
.
Avoiding Ambiguity in Multidimensional Indexing
Some assignment statements, such as
are ambiguous because they do not provide enough information about the shape of the dimension to receive the data. In the case above, the statement tries to assign a one-dimensional vector to a two-dimensional destination. MATLAB produces an error for such cases. To resolve the ambiguity, be sure you provide enough information about the destination for the assigned data, and that both data and destination have the same shape. For example,
![]() | Accessing Multidimensional Array Properties | Reshaping | ![]() |