permn

与重复排列,全部或一部分

18.5 k下载

更新2019年1月10

查看许可协议

permn与重复排列
使用两个输入变量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
排列。输出是一样的M = permn (V、N);M = M (K,:)
但它可以避免内存有太多时可能发生的问题
组合。这是尤其有用,当你只需要一些
在给定的时间排列。如果V或K是空的,或N是零,M
是空的。米大小的元素个数(K)×n。

[M,我]= permn(…)还返回索引矩阵我这样M = V (I)。

例子:
M = permn((1 2 3), 2) %返回9-by-2矩阵:
1
1 2
1 3
2 1
2 - 2
2 3
3个1
3 - 2
3个3

99 M = permn([7], 4) %返回16-by-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({'你好!1:3},2)%返回4×2的矩阵单元阵列
“你好!“你好!”
“你好!“[1 x3双]
[1 x3双]“你好!”
[1 x3双][1 x3双]

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

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

NB矩阵规模成指数增加率(n ^ n) * n。

看到还烫发,nchoosek
allcomb, permpos文件交换

引用作为

乔斯(10584)(2023)。permn(//www.tianjin-qmedu.com/matlabcentral/fileexchange/7147-permn), MATLAB中央文件交换。检索

MATLAB版本兼容性
创建R2018a
兼容任何释放
平台的兼容性
窗户 macOS Linux
类别
找到更多的在线性代数帮助中心MATLAB的答案

社区寻宝

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

开始狩猎!
版本 发表 发布说明
6.2.0.0

固定的编码风格的警告

6.1.0.0

拼写纠正
合并permnsub的功能,允许返回的一个子集,而不是所有的排列。

5.1.0.0

重命名文件到PERMN、固定小bug,扩展帮助部分

1.3.0.0

参考COMBNSUB大型组合问题。

1.2.0.0

纠正给列向量输出N = 1。(错误指出威尔逊通过电子邮件)。

1.1.0.0

略有修改基于建议由简·西蒙(谢谢!)

1.0.0.0

快速算法