0

如何使用 java.util.random 在 java 中创建矩阵 2D,当该矩阵中的每一列获取摘要为 1 时,当我尝试这仍然无法在每一列中获取摘要 1,

for(int k=0;k<K;k++){
   for(int q=0;q<Q;q++){
        System.out.print(random.nextFloat()+" ");
   }
   System.out.println();
}

结果是

0.70387095 0.3467546 0.15840572 
0.14474428 0.7011655 0.14503568 
0.8799238 0.2096222 0.7323822 

例如第 1 列

0.70387095 + 0.3467546 + 0.8799238 != 1 but 1.93054935
4

2 回答 2

4

计算元素的总和,然后将每个元素除以该总和。这将规范化元素,使它们加起来为 1。

于 2013-04-28T08:11:23.167 回答
0

我不知道具体的语法,但您可以将随机数生成器限制为仅允许从 0 到 1 减去数字(该列中先前随机生成的数字的总和)

于 2013-04-28T08:12:41.547 回答