Main Content

perms

所有可能的排列

说明

示例

P = perms(v) 返回的矩阵包含了向量 v 中元素的所有排列P 的每一行包含 v 中 n 个元素的一个不同排列。矩阵 P 具有与 v 相同的数据类型,包含 n! 行和 n 列。

示例

全部折叠

v = [2 4 6];
P = perms(v)
P = 6×3

     6     4     2
     6     2     4
     4     6     2
     4     2     6
     2     6     4
     2     4     6

v = uint16([1023 4095 65535]);
P = perms(v)
P = 6x3 uint16 matrix

   65535    4095    1023
   65535    1023    4095
    4095   65535    1023
    4095    1023   65535
    1023   65535    4095
    1023    4095   65535

v = [1+1i 2+1i 3+1i];
P = perms(v)
P = 6×3 complex

   3.0000 + 1.0000i   2.0000 + 1.0000i   1.0000 + 1.0000i
   3.0000 + 1.0000i   1.0000 + 1.0000i   2.0000 + 1.0000i
   2.0000 + 1.0000i   3.0000 + 1.0000i   1.0000 + 1.0000i
   2.0000 + 1.0000i   1.0000 + 1.0000i   3.0000 + 1.0000i
   1.0000 + 1.0000i   3.0000 + 1.0000i   2.0000 + 1.0000i
   1.0000 + 1.0000i   2.0000 + 1.0000i   3.0000 + 1.0000i

输入参数

全部折叠

项目集合,指定为数值、logicalchar 值的向量。

示例: [1 2 3 4]

示例: [1+1i 2+1i 3+1i 4+1i]

示例: int16([1 2 3 4])

示例: ['abcd']

示例: [true false true false]

数据类型: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | logical | char
复数支持:

局限性

length(v) 大约小于 10 时,perms(v) 较实用。

详细信息

全部折叠

排列

集合的排列是集合元素的所有可能的排列。P = perms(v)v 中元素索引的字典编纂逆序返回向量 v 的元素排列。例如,对于具有 3 个元素的向量 vP = perms(v) 返回的输出与以下内容相同:

P = [v(3) v(2) v(1);
     v(3) v(1) v(2);
     v(2) v(3) v(1);
     v(2) v(1) v(3);
     v(1) v(3) v(2);
     v(1) v(2) v(3)]

扩展功能

版本历史记录

在 R2006a 之前推出