This is machine translation

Translated by Microsoft
Mouseover text to see original. Click the button below to return to the English version of the page.

Note: This page has been translated by MathWorks. Click here to see
To view all translated materials including this page, select Country from the country navigator on the bottom of this page.


Sort complex numbers into complex conjugate pairs


B = cplxpair(A)
B = cplxpair(A,tol)
B = cplxpair(A,[],dim)
B = cplxpair(A,tol,dim)


B = cplxpair(A) sorts the elements along different dimensions of a complex array, grouping together complex conjugate pairs.

The conjugate pairs are ordered by increasing real part. Within a pair, the element with negative imaginary part comes first. The purely real values are returned following all the complex pairs. The complex conjugate pairs are forced to be exact complex conjugates. A default tolerance of 100*eps relative to abs(A(i)) determines which numbers are real and which elements are paired complex conjugates.

If A is a vector, cplxpair(A) returns A with complex conjugate pairs grouped together.

If A is a matrix, cplxpair(A) returns A with its columns sorted and complex conjugates paired.

If A is a multidimensional array, cplxpair(A) treats the values along the first non-singleton dimension as vectors, returning an array of sorted elements.

B = cplxpair(A,tol) overrides the default tolerance.

B = cplxpair(A,[],dim) sorts A along the dimension specified by scalar dim.

B = cplxpair(A,tol,dim) sorts A along the specified dimension and overrides the default tolerance.


If there are an odd number of complex numbers, or if the complex numbers cannot be grouped into complex conjugate pairs within the tolerance, cplxpair generates the error message

Complex numbers can't be paired.

Extended Capabilities

C/C++ Code Generation
Generate C and C++ code using MATLAB® Coder™.

Introduced before R2006a