Given a SORTED input vector V and positive integer n, rearranges V into its Nth lexicographic permutation. V must be SORTED or the behavior will not be correct. Sorted has flexible meaning however; see internal documentation.
Compare this with the output of my NEXTPERMS submission, which generates a series of sequential lexicographic pemutations in blocks. This instead generates the Nth permutation directly by a factorial radix rebasing; see http://en.wikipedia.org/wiki/Factorial_number_system for more information.
This will be much more efficient than running through the permutations sequentially if the desired permutation is deep in a large set.
Mex C++ and pure Matlab both provided; they should hopefully behave identically.
Basically the same idea as ONEPERM submission, but that submission generates the permutations in a recursive order, similar to the behavior of Matlab's PERMS. NTHPERM generates the permutation in lexicographic order to match NEXTPERMS, which is based on the C++ STL next_permutation function.
Cite As
Peter Li (2024). nthperm (https://www.mathworks.com/matlabcentral/fileexchange/44887-nthperm), MATLAB Central File Exchange. Retrieved .
MATLAB Release Compatibility
Platform Compatibility
Windows macOS LinuxCategories
- MATLAB > Graphics > 2-D and 3-D Plots >
Tags
Acknowledgements
Inspired by: ONEPERM
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!Discover Live Editor
Create scripts with code, output, and formatted text in a single executable document.
Version | Published | Release Notes | |
---|---|---|---|
1.0.0.0 |