Ensures a given set of values is unique (adds a very small number to duplicate values)
Updated 28 Aug 2007

No License

Some Matlab functions (e.g., interpolation) require their inputs to be a unique set of values. UNIQUIFY ensures that a given data vector is unique by adding very small numbers to duplicate entries in the input.

UNIQUIFY does NOT sort the values, contrary to Matlab's unique() function - it just slightly modifies any duplicate values. The data remains in its original order.

vals = uniquify([1,1,1]) -1; => [0, 2.22e-16, 4.44e-16]

loop over all duplicate entries, adding eps*2^iter in each iteration until the entire data vector is unique.

See also:
unique, interp1, consolidate (on the File Exchange)

Cite As

Yair Altman (2024). uniquify (https://www.mathworks.com/matlabcentral/fileexchange/16098-uniquify), MATLAB Central File Exchange. Retrieved .

MATLAB Release Compatibility
Created with R12
Compatible with any release
Platform Compatibility
Windows macOS Linux
Find more on Develop Apps Using App Designer in Help Center and MATLAB Answers

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!
Version Published Release Notes

Improved performance & accuracy; fixed runaway exponential deltas; fixed single/double support; added comments