uniqueperms

版本 1.0.0 (2.5 KB) 作者: Jos (10584)
unique permutations of a set with repetitions
265.0 次下载
更新时间 2019/8/27

查看许可证

P = uniqueperms(V) returns all unique permutations of the N elements in the vector V. P is an array with M rows (see below) and each row of P is unique. The rows are in lexicographic order. V can be a numeric array, or cell array of strings.

Example:
uniqueperms([4 2 1 2]) % returns 12 unique permutions:
% [ 1 2 2 4 ; 1 2 4 2 ; 1 4 2 2 ; ... ; 4 2 1 2 ; 4 2 2 1]
% perms([3 2 1 2]) will return all 24 permutations of 4 elements.
uniqueperms([1 1 1 1 99]) % a 5-by-5 array, rather than a 120-by-5 array with multiple duplications

This function does not rely on perms to do the job. Similar functionality can be obtained using unique(perms(V),'rows'), but this will create a possibly large intermediate array with N! rows.
When V has J unique elements, each of which is repeated Kj times (j=1:J), then the number of unique permutations is N!/(K1!*..*KJ!)

引用格式

Jos (10584) (2024). uniqueperms (https://www.mathworks.com/matlabcentral/fileexchange/72552-uniqueperms), MATLAB Central File Exchange. 检索来源 .

MATLAB 版本兼容性
创建方式 R2019a
兼容任何版本
平台兼容性
Windows macOS Linux
类别
Help CenterMATLAB Answers 中查找有关 Logical 的更多信息

Community Treasure Hunt

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

Start Hunting!
版本 已发布 发行说明
1.0.0