Graphics Programs Reference
In-Depth Information
ans(:,:,2) =
9
9
9
And to sum over “pages”:
>> sum(a,3)
ans =
4
5
6
7
8
9
10
11
12
Note that
sum(a)
is equal to
sum(a,1)
. The sum over “pages” gives a
3
1 matrix.
The sum function and other functions that operate on vectors, like
mean
,
diff
,
max
, and so on, work as you might expect them to for multi-
dimensional arrays. By default they usually operate on the first non-
singleton dimension of the array. Many functions that operate on two-
dimensional matrices do not have such straightforward multidimensional
extensions. For example, if we try to take the transpose of our matrix:
×
3 matrix, which is the same as a 3
×
3
×
>> a'
??? Error using = = > '
Transpose on ND array is not defined.
The transpose operation (exchanging rows and columns) makes no sense
here because it is insu@ciently specified. (If you want to rearrange a
multidimensional array's dimensional ordering, use the
permute
func-
tion; in our example, try
permute(a,[2 1 3])
). Another example is
the eigenvalue operator
eig
, which has no mathematical meaning for
multidimensional arrays. In fact, none of the functions that appear if
you type
help matfun
has a reasonable meaning for multidimensional
matrices. Nor do the matrix operators
*
,
^
,
\
or
/
.
29.3 RGB Images
Introduction to RGB Images
RGB images in matlab are
M
3 matrices consisting of red, green,
and blue intensity maps. When such a three-dimensional matrix is used
as an input to the
image
command, matlab adds the red, green, and
blue intensities to give the right colours on the screen. To illustrate the
idea, our first example reproduces three overlapped discs of red, green,
and blue light to give yellow, cyan, magenta, and white overlaps. We
generate matrices of (
x, y
) points covering the plane from
×
N
×
−
2to2:
[x,y] = meshgrid(linspace(-2,2,200));