可以說我有一個向量n = 1:4
。在MATLAB中獲得所有可能的聚類
我想創建一個單元格數組,其中包含這些項目的所有可能的分組,假設分組的大小可以是任意大小,則可以有任意數量的組,但每個配置中必須存在每個值。
這裏是想什麼i到創建一個示例,但沒有每個可能性:
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
函數可能有用,但老實說,我很困惑如何把它放在一個合理的優雅的方式。
如果你看看文件交換,我相信你可以找到一些將做一個設置分區。 – beaker
這一個甚至在你的文檔中使用你的測試用例作爲例子:http://www.mathworks.com/matlabcentral/fileexchange/24185-partitions – Dan