Chalet37 2015-05-06 01:50 采纳率: 66.7%
浏览 3324
已采纳

求给出一个生成n个和为1,且每个数都在[0,1]间的随机数的算法

同题,有伪码就好了,或者其他什么代码都可以。要求生成的随机数分布不会有明显的集中,比如最后几个随机数总是近似为零

  • 写回答

6条回答 默认 最新

  • Tiger_Zhao 2015-05-06 05:57
    关注

    这不很简单吗。
    理论上:先生成n个随机数,求总和得S,每个数都除以S,就保证和为1。
    实现上:
    1)除之前先判断一下S是否为0(随机算法太妖了吧),是0就重来。
    2)考虑到小数的精度问题,最后一个数修正为 1-(前n-1个数的和)。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(5条)

报告相同问题?

悬赏问题

  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 shape_predictor_68_face_landmarks.dat
  • ¥15 slam rangenet++配置
  • ¥15 有没有研究水声通信方面的帮我改俩matlab代码
  • ¥15 对于相关问题的求解与代码
  • ¥15 ubuntu子系统密码忘记
  • ¥15 信号傅里叶变换在matlab上遇到的小问题请求帮助
  • ¥15 保护模式-系统加载-段寄存器
  • ¥15 电脑桌面设定一个区域禁止鼠标操作
  • ¥15 求NPF226060磁芯的详细资料