1

如何在matlab中的n个值上随机分布概率?如果我有 128 个向量。我想为所有这些分配一个随机概率,使得它们的总和等于 1。

例如 n=4 p1=0.37 p2=0.21 p3=0 p4=0.42

4

2 回答 2

2

根据您需要的随机性,罗杰斯塔福德采取更严格的方法

于 2012-06-12T11:21:48.730 回答
1

您可以将向量除以其元素的总和。例如,对于长度为 4 的向量,您可以执行以下操作:

>> v = rand(4, 1);
>> v = v/sum(v)

v = 
    0.2951
    0.3281
    0.0460
    0.3308

>> sum(v)

ans = 

    1.0000

请注意,我假设您想要均匀分布的数字,因为您没有在问题中说明您想要的分布。

于 2012-06-12T11:18:07.247 回答