Skip to content

Basics

Array

  • An array is a set of numbers, characters, or logical values organized as a rectangular form.
  • An array can be a scalar, vector, matrix, or multi-dimensional.

Length

  • For an array, the length of its k-th dimension is the number of elements along that dimension.
  • For examples, for each of the following arrays, the length of the second dimension is 2:
ones(3,2,1)
[1 2;3 4]
zeros(1,2,3,4)

Scalar

  • A scalar is an array having only one number, character, or logical value (i.e., all of its dimensions have length 1).
  • The following are examples of scalar:
ones(1,1,1,1)
zeros(1,1)
1
-0.05
[2]
'a'
'?'
true
false
cos(90)
2-0.4

Vector

  • A vector can be a row vector or a column vector.
  • A row vector is an array that each of its dimensions has unit length, except the second dimension.
  • The following are examples of row vectors:
'abcd1234'
[true false true false]                
zeros(1,3,1,1,1)
[1 2 3]
linspace(1,2)
2:2:20
  • A column vector is an array that each of its dimensions has unit length, except the first dimension.
  • The following are examples of column vectors:
['abcd1234']'
[true false true false]'
zeros(3,1,1,1)
[1; 2; 3]
linspace(1,2)'
(2:2:20)'

Matrix

  • A matrix is an array that each of its dimensions has length 1 except the first two dimensions.
  • The following are examples of matrices:
ones(4,5,1,1)
diag(1:10)
['abc'; 'def']
[1 2;3 4]

Multi-dimensional array

An array is said to be multi-dimensional if its k-th dimension, where k > 2, has length greater than 1. The following are examples of multi-dimensional arrays:

ones(1,1,4,5)
true(3,3,3,3,1,1,1)
zeros(3,4,3,4,1,1)

Size

  • The size of an array can be obtained by the function size().
  • For a scalar, its size is the vector [1 1].
  • For a row vector, its size is [1 s], where s is the vector's length.
  • For a column vector, its size is [s 1], where s is the vector's length.
  • For a matrix, its size is [s1 s2], where s1 and s2 are the lengths of its 1st and 2nd dimensions, respectively.
  • For a multi-dimensional array, its size is the row vector of elements s1, s2, ..., sn, representing the lengths of the array's dimensions. Here n is greater than 2, and is the highest dimension with length greater than 1.

Number of Dimensions

  • The number of dimensions of an array is the length of its size vector.

Singleton Dimension

  • If a dimension of an array has length 1, it is called a singleton dimension.
  • A non-singleton dimension is a dimension of length > 1.
  • The first non-singleton dimension is a non-singleton dimension with the smallest dimension number.
  • For example, the first dimension of ones(1,1,3,4) is singleton, while the first non-singleton dimension is 3.

Argument Size

  • Some built-in functions and operators perform elementwise operations of its input arguments, for examples, +, &, expcdf(), and times().
  • For these functions or operators, the input arguments are expected to have the same sizes. For example, in times(A, B), A and B are expected to have the same sizes.
  • However, if an argument is a scalar whereas the other argument is an array, the scalar would be expanded to match the size of the array.
  • For examples, each of the following statements performs elementwise operations on a constant array and a randomly generated 3-by-3 array:
1 + rand(3)
0.8 & rand(3)
poissinv(0.2, randi(3,3))
  • In the first statement above, 1 would be expanded into a 3-by-3 array of all 1s before added to rand(3).
  • For some functions, if two arguments are vectors of the same lengths, they need not be both row vectors or both column vectors. In fact, one of them can be a row vector and the other a column vector.