You are now following this Submission
- You will see updates in your followed content feed
- You may receive emails, depending on your communication preferences
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 (2026). nthperm (https://www.mathworks.com/matlabcentral/fileexchange/44887-nthperm), MATLAB Central File Exchange. Retrieved .
Acknowledgements
Inspired by: ONEPERM
General Information
- Version 1.0.0.0 (4.21 KB)
MATLAB Release Compatibility
- Compatible with any release
Platform Compatibility
- Windows
- macOS
- Linux
| Version | Published | Release Notes | Action |
|---|---|---|---|
| 1.0.0.0 |
