来自矩阵的所有可能组合,使得所有数字的总和等于固定值

时间:2017-04-07 13:25:06

标签: algorithm matlab vector combinatorics

假设我有Q个向量,如下所示:

A_1 = [x_1,x_2,...,x_m];
A_2 = [y_1,y_2,...,y_n];
.
.
.
A_Q = [z_1,z_2,...,z_q];

基本上,m,n,q是正整数,不一定等价。每个向量元素x,y,z都是(0,1).之间的数字。这些向量的一种可能组合可以是:

B_1 = [x_1,y_1,...,z_1];

在每个组合中,应该包括每个向量的一个元素。因此,我们可以有m*n*...*q种不同的组合。现在,我想找到这些组合,使其元素的平均值等于特定数字W,即mean(B_1)=W.请注意,W(0,1).之间的数字效率低下方法是计算所有排列,然后将W与其元素的平均值进行比较。但是,随着Q,m,n,q的增加,计算机(MATLAB)无法处理它,这是显而易见的。

请您帮我找一个在合理的时间内解决这个问题的有效方法吗?

可以说可能没有向量,其元素的均值等于W.是的,这是真的。那么,是否有可能找到组合,使其元素的均值介于(W-T,W+T),之间T介于(0,1)之间?

非常感谢提前。

0 个答案:

没有答案