x<-runif(10,min=0,max=1); #生成10个0到1的均匀分布x<-x/sum(x); #每个随机数除以这十个数的总和这样得到的10个随机数的和就是1了。这里为了方便最初采用了0到1的均匀分布,实际上你可以采用任意的分布,只要将得到的十个数先平移至均为正数,再除以总和,就得到10个和为1的随机数。当然,这10个数具体是什么分布就不讨论了。