These datatypes are either used for multidimensional objects, or for simultaneous calculations on large numbers of data, e.g. for statistical problems. In this chapter we discuss this latter aspect. Linear algebra and the usual vector calculations are treated in chapter 2.9.
Vectors are marked with square brackets. The elements are entered as comma-separated list. The commas may be left if the elements can be distiguished in a unique manner, which however fails in the second example below:
>> x=[1,-2,3,-4] x = [ 1 -2 3 -4 ] >> x=[1 - 2 3 -4] % Caution: 1-2=-1 x = [ -1 3 -4 ]Colon and the function
linspace
are used to define
ranges of numbers as vectors.
>> y=1:10 % 1 to 10, step 1 y = [ 1 2 3 4 5 6 7 8 9 10 ] >> y=1:0.1:1.5 % 1 to 1.5, step 0.1 y = [ 1 1.1 1.2 1.3 1.4 1.5 ] >> y=linspace(0,2,5) % 5 from 0 to 2.5, equidistant. y = [ 0 0.5 1 1.5 2 ]
The number of elements in a vector x
is calculated with the function
length(x)
, individual elements are extracted by providing the index k
like x(k)
. This index k
must be a number in the range 1 to
(including) length(x)
. The colon operator plays a special role:
Used as index, all elements of the vector are returned. Additionally,
ranges of numbers can be used as index.
>> y(2) % single element ans = 0.5 >> y(:) % magic colon ans = [ 0 0.5 1 1.5 2 ] >> y(2:3) % index between 2 and 3 ans = [ 0.5 1 ] >> y(2:length(y)) % all from index 2 ans = [ 0.5 1 1.5 2 ] >> y([1,3,4]) % indices 1,3 and 4 ans = [ 0 1 1.5 ] >> y([1,3,4]) = 9 % insert ans = [ 9 0.5 9 9 2 ] >> y([1,3,4]) = [1,2,3] % insert ans = [ 1 0.5 2 3 2 ]
Matrices are handled in a similar way, only with two indices for rownumber (first index) and columnnumber (second index). Rows are separated by either a semicolon or a linefeed during input.
>> M=[1:3 ; 4:6 ; 7:9] M = 1 2 3 4 5 6 7 8 9 >> M([1 3],:) ans = 1 2 3 7 8 9 >> C=M<4 C = 1 1 1 0 0 0 0 0 0
The operators of chapter 2.2 may be applied to vectors and matrices.
If scalar, per-element operation is desired, some operators (* / ^
)
must be preceded by a point to distinguish them from the quite different
linear-algebra versions of these operations (see chapter 2.9). Further
useful functions are sum(vector)
and prod(vector)
which return the
sum and product of the vectors elements.