The vector generator operator, ':', may only be used when indexing a variable, inside brackets when creating a matrix, or in the argument list of a function. [e1:e2] creates the row vector [e1, e1+1, e1+2, ..., e2] if e2 > e1, or [e1, e1-1, e1-2, ..., e2] if e1 > e2. e1 and e2 must be scalars. A colon passed as an argument to a function passes a NULL, and can be used for arguments which would normally be created by a function, but whose value you do not want, e.g. svd(a,:,s) returns the rank of A and creates the matrix s of singular values, but does not create u or v.