gpt4 book ai didi

matlab - 在 MATLAB 中获取所有可能的聚类

转载 作者:行者123 更新时间:2023-12-01 15:05:06 24 4
gpt4 key购买 nike

假设我有一个向量n = 1:4

我想创建一个包含这些项目所有可能分组的单元格数组,假设分组可以是任意大小,可以有任意数量的组,但每个值必须存在于每个配置中。

这是我想创建的示例,但没有任何可能性:

possibilities = {
{[1 2 3 4]},...
{[1 2 3], 4},...
{[1 2 4], 3},...
...
{[1 3], [2 4]},...
...
{[1 3], 2, 4},...
{1,2,3,4}
}

所以单元格内的每个单元格都包含值 1:4,但它们可以任意分组为任意大小的组。唯一的限制是每个唯一的聚类应该只出现一次,其中 {[1 2 3], 4}{[2 1 3], 4} 相同并且{4, [3 1 2]}

我认为 nchoosek 函数可能有用,但老实说,我对如何以合理优雅的方式将它们组合在一起感到困惑。

最佳答案

Dan指出我exactly what i wanted ...

为了发布问题的答案,以下是它的工作原理。

>> possibilities = partitions(4)

possibilities =

{1x1 cell}
{1x2 cell}
{1x2 cell}
{1x2 cell}
{1x3 cell}
{1x2 cell}
{1x2 cell}
{1x3 cell}
{1x2 cell}
{1x2 cell}
{1x3 cell}
{1x3 cell}
{1x3 cell}
{1x3 cell}
{1x4 cell}

>> partdisp(possibilities)

The 15 partitions of set {1 2 3 4}:
{1 2 3 4}
{1 2 3} {4}
{1 2 4} {3}
{1 2} {3 4}
{1 2} {3} {4}
{1 3 4} {2}
{1 3} {2 4}
{1 3} {2} {4}
{1 4} {2 3}
{1} {2 3 4}
{1} {2 3} {4}
{1 4} {2} {3}
{1} {2 4} {3}
{1} {2} {3 4}
{1} {2} {3} {4}

关于matlab - 在 MATLAB 中获取所有可能的聚类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35736421/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com