Aggregate Operations ==================== Operations in this section should accept symbolic inputs on any type supported by the method. all --- **Syntax** :: all(x) all(x,dim) **Description** Returns an array of logical values indicating whether elements in array, ``x``, along a particular dimension, ``dim``, are all nonzero. For example, ``all(x,2)`` returns a column vector of logical values indicating whether the elements of each row of ``x`` are all nonzero. If ``dim`` is not specified, ``all`` will test the elements along the first array dimension of ``x`` whose size does not equal 1. any --- **Syntax** :: any(x) any(x,dim) **Description** Returns an array of logical values indicating whether there is at least one element in array, ``x``, along a particular dimension, ``dim``, that is nonzero. For example, ``any(x,2)`` returns a column vector of logical values indicating whether there is at least one nonzero element in each row of ``x``. If ``dim`` is not specified, ``any`` will test the elements along the first array dimension of ``x`` whose size does not equal 1. arrayfun -------- **Syntax** :: [r1,…,rm] = arrayfun(fHandle, a1,…,an) [r1,…,rm] = arrayfun(fHandle, a1,…,an,'UniformOutput',value) **Description** This operation applies a function, specified by the function handle ``fHandle``, to each element of an array. The elements from arrays ``a1,…,an`` are passed as input to ``fHandle`` and ``n`` is the number of parameters that the function expects. Returns arrays ``r1,…,rm`` where ``m`` is the number of outputs from ``fHandle``. - The input, ``a1,..,an``, must be arrays of the same size. - By default, ``arrayfun`` assumes that output from the ``fHandle`` function has the same type and size. This is equivalent to invoking ``arrayfun(fHandle, a1,..,an,'UniformOutput',true)``. When the ``fHandle`` function returns output of differing sizes or types, indicate this by adding the parameters ``'UniformOutput'`` and ``false`` for ``value``. cellfun ------- **Syntax** :: [r1,…,rm] = cellfun(fHandle, c1,…,cn) [r1,…,rm] = cellfun(fHandle, c1,…,cn,'UniformOutput',value) **Description** This operation applies a function, specified by the function handle ``fHandle``, to each cell in a cell array. The elements from cell arrays ``c1,…,cn`` are passed as input to ``fHandle`` and ``n`` is the number of parameters that the function expects. Returns arrays ``r1,…,rm`` where ``m`` is the number of outputs from ``fHandle``. - The input, ``c1,..,cn``, must be cell arrays of the same size. - By default, ``cellfun`` assumes that output from the ``fHandle`` function has the same type and size. This is equivalent to invoking ``cellfun(fHandle, c1,..,cn,'UniformOutput',true)``. When the ``fHandle`` function returns output of differing sizes or types, indicate this by adding the parameters ``'UniformOutput'`` and ``false`` for ``value``. dot --- **Syntax** :: dot(x,y) **Description** Perform the scalar dot product of vectors, ``x`` and ``y``. The length of ``x`` and ``y`` must agree. If ``n`` is the length of the input vectors, then ``dot(x,y)=x1*y1+x2*y2+…+xn*yn``. max --- **Syntax** :: m = max(x) m = max(x,y) m = max(x,[],dim) [m, i] = max(x) [m, i] = max(x,[],dim) **Description** There are multiple ways in which this function can be invoked. In all cases, ``max`` identifies the largest elements of one or two arrays. - When called with, ``m = max(x)``, and - ``x`` is a vector, then ``max`` returns the largest element in ``x``. - ``x`` is multidimensional array, this returns the largest element along the first dimension of ``x`` whose size does not equal 1. For example, if ``x`` is a matrix, then ``m`` is a row vector containing the maximum value in each column of ``x``. - If invoked with ``m = max(x,y)``, ``max`` returns the largest values in operand ``x`` and ``y`` elementwise. If both ``x`` and ``y`` are arrays, their dimensions must agree. If either input is a scalar, it gets expanded into an appropriately sized array before finding the maximum. - When called with, ``m=max(x,[],dim)``, then ``max`` returns the largest elements along the ``dim`` dimension of ``x``. - In addition to identifying the largest values of an input array, when called with two output arguments, ``[m, i] = max(…)``, this function records the indices of the maximum values of ``x`` and returns them in output vector ``i``. If the maximum occurs more than once, the index of the first occurance is returned. min --- **Syntax** :: m = min(x) m = min(x,y) m = min(x,[],dim) [m, i] = min(x) [m, i] = min(x,[],dim) **Description** There are multiple ways in which this function can be invoked. In all cases, ``min`` identifies the smallest elements of one or two arrays. - When called with, ``m = min(x)``, and - ``x`` is a vector, then ``min`` returns the smallest element in ``x``. - ``x`` is multidimensional array, this returns the smallest element along the first dimension of ``x`` whose size does not equal 1. For example, if ``x`` is a matrix, then ``m`` is a row vector containing the minimum value in each column of ``x``. - If invoked with ``m = min(x,y)``, ``min`` returns the smallest values in operand ``x`` and ``y`` elementwise. If both ``x`` and ``y`` are arrays, their dimensions must agree. If either input is a scalar, it gets expanded into an appropriately sized array before finding the minimum. - When called with, ``m=min(x,[],dim)``, then ``min`` returns the smallest elements along the ``dim`` dimension of ``x``. - In addition to identifying the smallest values of an input array, when called with two output arguments, ``[m, i] = min(…)``, this function records the indices of the minimum values of ``x`` and returns them in output vector ``i``. If the minimum occurs more than once, the index of the first occurance is returned. sum --- **Syntax** :: sum(x) sum(x,dim) **Description** Adds elements in array ``x`` along a particular dimension, ``dim``. If ``dim`` is not specified, this computes the sum along the first array dimension whose size does not equal 1. For example, ``sum(x,1)`` returns a row vector containing the sum of elements in each of the columns of ``x``.