图像缩略图

珀姆

版本6.2.0.0(3.32KB)由 何塞(10584)
重复排列,全部或子集

17.6K下载

更新2019年1月10

查看许可证

置换-重复置换
使用两个输入变量V和N,M=permn(V,N)返回所有
从向量V中取N个元素的置换,带有重复。
V可以是任何类型的数组(数字、单元格等),M可以是
如果V为空,或者N为0,则M为空。米有
尺寸单位(V)。^N乘以N。

当只需要这些置换的子集时,可以调用permn
对于3个输入变量:M=permn(V,N,K)只返回K-th
排列。输出与M = permn(V,N)相同;M = M (K,:)
但它避免了内存太多时可能出现的内存问题
组合。这在你只需要几个的时候特别有用
在给定时间的排列。如果V或K为空,或N为零,则M将为空
是空的。M的大小是(K) × n。

[M, I] = permn(…)也返回一个索引矩阵I,使M = V(I)。

示例:
M=permn([1 2 3],2)%n返回9乘2矩阵:
1 1
1 2
1 3
2 1
2 - 2
2 3
3 1
3 2
3 3

M=permn([99 7],4)%n返回16×4矩阵:
99 99 99 99
99 99 99 7
99 99 7 99
99 99 7 7
...
7 7 7 99
7 7 7 7

M=permn({'hello!'1:3},2)%
“你好!”喂
“你好!”[1x3双精度]
[1x3双精度]“你好!”
[1x3双精度][1x3双精度]

V=11:15,N=3,K=[21242199]
M=permn(V,N,K)%返回四乘三矩阵:
% 11 11 12
% 15 15 14
% 11 15 11
% 14 15 14
%第2、第124、第21和第99排列是什么
%使用两个输入检查permn
M2=permn(V,N);等质量(M2(K,:),M)
%请注意,M2是一个125×3的矩阵

%permn可用于生成二进制表,如中所示
B=permn([01],5)

NB基体尺寸以(n^n)*n的速率呈指数增长。

另请参见烫发,nchoosek
文件交换上的allcomb、permpos

引用为

乔斯(10584)(2021年)。珀姆(//www.tianjin-qmedu.com/matlabcentral/fileexchange/7147-permn),MATLAB中央文件交换。恢复.

MATLAB版本兼容性
创建R2018a
与任何版本兼容
平台兼容性
窗户 马科斯 Linux

社区寻宝

在MATLAB Central中查找宝藏,了解社区如何帮助您!

开始狩猎!