如何在matlab中的n个值上随机分布概率?如果我有 128 个向量。我想为所有这些分配一个随机概率,使得它们的总和等于 1。
例如 n=4 p1=0.37 p2=0.21 p3=0 p4=0.42
如何在matlab中的n个值上随机分布概率?如果我有 128 个向量。我想为所有这些分配一个随机概率,使得它们的总和等于 1。
例如 n=4 p1=0.37 p2=0.21 p3=0 p4=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
请注意,我假设您想要均匀分布的数字,因为您没有在问题中说明您想要的分布。