如何在 matlab 中的 n 个值上随机分配概率?如果我有 128 个向量。我想为所有这些分配一个随机概率,以便它们的总和等于 1。
例如n=4p1=0.37p2=0.21p3=0p4=0.42
根据你需要的随机程度,罗杰斯塔福德采取了更严格的方法。
您可以将向量除以其元素的总和。例如,对于长度为 4 的向量,您可以执行以下操作:
>> v = rand(4, 1);
>> v = v/sum(v)
v =
0.2951
0.3281
0.0460
0.3308
>> sum(v)
ans =
1.0000
请注意,我假设您想要均匀分布的数字,因为您没有在问题中说明您想要的分布。