permn

versión 6.2.0.0 (3.32 KB) por 乔斯(10584)
重复排列,全部或一个子集

18日,2 k descargas

Actualizada2019年1月10日

版本licencia

Permn -重复排列
使用两个输入变量V和N, M = permn(V,N)返回所有
从向量V中取N个元素的排列,重复。
V可以是任何类型的数组(数字,单元格等),M将是
与V的类型相同,如果V为空或N为0,M将为空。M有
大小元素个数(V) ^ n×n。

当只需要这些排列的一个子集时,可以调用permn
M = permn(V,N,K)只返回K次
排列。输出为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) %返回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) %返回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

M = permn({'你好!' 1:3},2) %返回4 × 2的单元格数组
“你好!“你好!”
“你好![1x3 double]
[1x3 double] '你好!'
[1x3 double] [1x3 double]

V = 11:15, n = 3, k = [2 124 21 99]
M = permn(V, N, K) %返回4 × 3矩阵:
% 11 11 12
% 15 15 14
% 11 15 11
% 14 15 14
%分别是第2、124、21和99个排列
使用两个输入检查permn
M2 = permn(V,N);: isequal (M2 (K), M)
注意M2是一个125 × 3矩阵

permn可以用来生成二进制表,如
B = permn([0 1],5)

矩阵的大小以指数速度增长(n^ n)* n。

也参见perms, nchoosek
allcomb,在文件交换许可

Citar科莫

Jos(10584)(2022)。permn(//www.tianjin-qmedu.com/matlabcentral/fileexchange/7147-permn), MATLAB中央文件交换。Recuperado

Compatibilidad con la versión de MATLAB
Se creó con R2018a
兼容con cualquier versión
兼容的平台
窗户 macOS Linux

社区寻宝

在MATLAB中央找到宝藏,并发现社区可以如何帮助你!

开始狩猎!