Previous: User-defined Data Types, Up: Data Types [Contents][Index]

The following functions allow you to determine the size of a variable or
expression. These functions are defined for all objects. They return
-1 when the operation doesn’t make sense. For example, Octave’s
data structure type doesn’t have rows or columns, so the `rows`

and
`columns`

functions return -1 for structure arguments.

- Built-in Function:
**ndims***(*`a`) Return the number of dimensions of

`a`.For any array, the result will always be greater than or equal to 2. Trailing singleton dimensions are not counted.

ndims (ones (4, 1, 2, 1)) ⇒ 3

**See also:**size.

- Built-in Function:
**columns***(*`a`) Return the number of columns of

`a`.**See also:**rows, size, length, numel, isscalar, isvector, ismatrix.

- Built-in Function:
**rows***(*`a`) Return the number of rows of

`a`.**See also:**columns, size, length, numel, isscalar, isvector, ismatrix.

- Built-in Function:
**numel***(*`a`) - Built-in Function:
**numel***(*`a`,`idx1`,`idx2`, …) Return the number of elements in the object

`a`.Optionally, if indices

`idx1`,`idx2`, … are supplied, return the number of elements that would result from the indexing`a`(`idx1`,`idx2`, …)Note that the indices do not have to be scalar numbers. For example,

`a`= 1;`b`= ones (2, 3); numel (`a`,`b`)will return 6, as this is the number of ways to index with

`b`. Or the index could be the string`":"`

which represents the colon operator. For example,`a`= ones (5, 3); numel (`a`, 2, ":")will return 3 as the second row has three column entries.

This method is also called when an object appears as lvalue with cs-list indexing, i.e.,

`object{…}`

or`object(…).field`

.**See also:**size.

- Built-in Function:
**length***(*`a`) Return the length of the object

`a`.The length is 0 for empty objects, 1 for scalars, and the number of elements for vectors. For matrix or N-dimensional objects, the length is the number of elements along the largest dimension (equivalent to

`max (size (`

).`a`))

- Built-in Function:
**size***(*`a`) - Built-in Function:
**size***(*`a`,`dim`) Return the number of rows and columns of

`a`.With one input argument and one output argument, the result is returned in a row vector. If there are multiple output arguments, the number of rows is assigned to the first, and the number of columns to the second, etc. For example:

size ([1, 2; 3, 4; 5, 6]) ⇒ [ 3, 2 ] [nr, nc] = size ([1, 2; 3, 4; 5, 6]) ⇒ nr = 3 ⇒ nc = 2

If given a second argument,

`size`

will return the size of the corresponding dimension. For example,size ([1, 2; 3, 4; 5, 6], 2) ⇒ 2

returns the number of columns in the given matrix.

- Built-in Function:
**isempty***(*`a`) Return true if

`a`is an empty matrix (any one of its dimensions is zero).

- Built-in Function:
**isnull***(*`x`) Return true if

`x`is a special null matrix, string, or single quoted string.Indexed assignment with such a value on the right-hand side should delete array elements. This function should be used when overloading indexed assignment for user-defined classes instead of

`isempty`

, to distinguish the cases:`A(I) = []`

This should delete elements if

`I`

is nonempty.`X = []; A(I) = X`

This should give an error if

`I`

is nonempty.

- Built-in Function:
**sizeof***(*`val`) Return the size of

`val`in bytes.**See also:**whos.

- Built-in Function:
**size_equal***(*`a`,`b`, …) Return true if the dimensions of all arguments agree.

Trailing singleton dimensions are ignored. When called with a single or no argument

`size_equal`

returns true.

- Built-in Function:
**squeeze***(*`x`) Remove singleton dimensions from

`x`and return the result.Note that for compatibility with MATLAB, all objects have a minimum of two dimensions and row vectors are left unchanged.

**See also:**reshape.

Previous: User-defined Data Types, Up: Data Types [Contents][Index]