如何在 MATLAB 中随机分配生成测试数据的概率



如何在 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

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

最新更新