我正在尝试生成一个随机数组,以便较高索引处的数字应大于较低索引处的数字。
例如,像这样的数组:
array = [1.5 1.7 2.4 5.6 8.5 8.9 9.2 9.5 10.2 11.3]
我可以这样做:
array(1:10) = 0; % Pre-allocation
array(1) = abs(randn); % Generating a +ve rand no.
for k=2:10
array(k) = abs(randn) + array(k-1); % adding a +ve rand no. to the previous value
end
我正在寻找更好的(和/或矢量化)方式!
答案 0 :(得分:3)
myarray = sort(rand(1, 10))
会做,我想
编辑:
虽然你的问题没有提及,但从你的例子中你想要正数,
所以
sort(abs(rand(1, 10)))
你会做你想要的吗。