Matlab 任意长度的随机标量向量和为1

Matlab 任意长度的随机标量向量和为1,matlab,Matlab,我需要创建一个随机标量的Nx1列向量,其中向量中所有标量的和等于1。向量中的每个标量都需要大于0且小于或等于1。向量可以是可变长度。生成N随机值。计算它们的总和。将所有值除以总和。生成N随机值。计算它们的总和。将所有值除以总和 function result = randvec(n) num = rand(n,1); result = num / sum(num); end

我需要创建一个随机标量的Nx1列向量,其中向量中所有标量的和等于1。向量中的每个标量都需要大于0且小于或等于1。向量可以是可变长度。

生成
N
随机值。计算它们的总和。将所有值除以总和。

生成
N
随机值。计算它们的总和。将所有值除以总和

function result = randvec(n)
  num = rand(n,1);
  result = num / sum(num);
end