【发布时间】:2015-12-16 02:12:59
【问题描述】:
我正在尝试使用nchoosek(v,k) 来获得四个价值项的所有可能组合,其中一项随机分布在 4 个位置上。我的目标是得到这个:
[4 0 0 0;
0 4 0 0;
0 0 4 0;
0 0 0 4;
3 1 0 0;
3 0 1 0;
3 0 0 1;
1 3 0 0;
0 3 1 0;
0 3 0 1;
1 0 3 0;
0 1 3 0;
0 0 3 1;
1 0 0 3;
0 1 0 3;
0 0 1 3;
2 2 0 0;
2 0 2 0;
2 0 0 2;
0 2 2 0;
0 2 0 2;
0 0 2 2;
2 1 1 0;
2 1 0 1;
2 0 1 1;
1 2 1 0;
1 2 0 1;
0 2 1 1;
1 1 2 0;
1 0 2 1;
0 1 2 1;
1 1 0 2;
1 0 1 2;
0 1 1 2;
1 1 1 1];
但是我不确定如何正确输入v 和k 以使用nchoosek() 实现此目的。无论我在v 中输入什么,我都会得到输出。
nchoosek([1,1,1,1], 4)
[1,1,1,1]
nchoosek([1,0,0,0], 4)
[1,0,0,0]
nchoosek([4,0,0,0], 4)
[4,0,0,0]
nchoosek([1 0 0 0; 0 1 0 0; 0 0 1 0; 0 0 0 1], 4)
Error using nchoosek (line 29)
The first argument has to be a scalar or a vector.
简而言之,我没有得到nchoosek(v,k) 的输入和输出。有人知道怎么做吗?我在这里lookedupsome 提出问题,但他们并没有帮助我。
【问题讨论】:
标签: matlab syntax probability combinatorics