【问题标题】:how to randomly select an element from an array having the least probability [closed]如何从概率最小的数组中随机选择一个元素[关闭]
【发布时间】:2020-07-29 07:35:04
【问题描述】:

如何从matlab中概率最小的数组中随机选择一个元素

示例:

      A = [ 1,2,3,4,5,6]

      P = [ 0.01,0.2,0.25.0.2,0.25,0.09] % probability %

【问题讨论】:

  • 如何随机且概率最小?如果多个元素的概率相同,您的意思是多个元素中的一个?
  • 是的......我想选择一个概率最小的元素
  • 所以在上面的例子中,你会选择6,因为它的概率最小,但随机性在哪里?
  • @Daniel 据我了解,最小值为 0.01,因此为 1。但如果两个元素的值为 0.01,则可以随机选择其中任何一个元素。 @PAnilKumar 请确认
  • 是的....@Daniel

标签: matlab random probability


【解决方案1】:

找到all indices of the minimum 的概率。然后根据同样最小概率的number 生成random interger。然后使用matrix indexing提取一个最小概率的随机索引,然后是其对应的元素。

[~, ind] = mink(P,2); %All indices of minimum elements
Result = A(inds(randi(numel(inds))));   %Random minimum element

【讨论】:

    猜你喜欢
    • 2018-03-25
    • 1970-01-01
    • 2021-12-20
    • 1970-01-01
    • 2014-07-23
    • 2020-01-13
    • 2011-11-04
    相关资源
    最近更新 更多