| 
   Home Manual Packages Global Index Keywords Quick Reference
   | 
  2.3.2 Selecting a range of indices 
You can refer to several consecutive array elements by an index range:
x(3:6) means the four element subarray [x(3), x(4), x(5),
x(6)]. 
Occasionally, you also want to refer to a sparse subset of an array; you
can add an increment to an index range by means of a second colon:
x(3:7:2) means the three element subarray [x(3), x(5),
x(7)]. 
A negative increment reverses the order of the elements: x(7:3:-2)
represents the same three elements, but in the opposite order
[x(7), x(5), x(3)].  The second element mentioned in the index
range may not actually be present in the resulting subset, for example,
x(7:2:-2) is the same as x(7:3:-2), and x(3:6:2)
represents the two element subarray [x(3), x(5)]. 
Just as the increment defaults to 1 if it is omitted, the start and stop
elements of an index range also have default values, namely the first
and last possible index values.  Hence, if x is a one-dimensional
array with 10 elements, x(8:) is the same as x(8:10).  With
a negative increment, the defaults are reversed, so that x(:8:-1)
is the same as x(10:8:-1). 
A useful special case of the index range default rules is x(::-1),
which represents the array x in reverse order. 
Beware of a minor subtlety: x(3:3) is not the same thing as
x(3).  An index range always represents an array of values, while
a scalar index represents a single value.  Hence, x(3:3) is an
array with a single element, [x(3)]. 
 
 |