每个数用rand(0,1)生成,保障为正数,只有当1减去前m-1个数的和为正数时才采用。至此生成了1行随机正数矩阵,和为1,为了保障m行矩阵都不一样,则需使用函数将采纳的每行n个数随机排列。至此生成了你要的随机正数矩阵。
你可以这么做,对于每一行,都先生成一个1到10的随机数,假如生成2,那就把这一行的第二个数置为0,然后对于没有置为0的其他行再分别生成随机数,待其他九个随机数也生成之后对这九个作一个归一化就能保证每行之和为1了