我想在指定范围内生成一个随机数的nx1向量,该向量包括具有整数间距的端点。例如
[0 120] with spacing 40
例如,如果n是10,那么这样的输出可以是:
[0 80 0 120 0 0 40 0 120 40]
randi()
似乎是我应该使用的,但似乎不可能用它做我想做的一切。有其他功能可以帮助我吗?
假设您有工具箱,请使用randsample
v=0:40:120 %possible values
n=10 %number of samples
randsample(v,n,true)
你可以做:
randi( [0, floor(upperValue/spacing)], n, 1) * spacing
如果是n = 10
、upperValue = 120
和spacing = 40
,则得到:
ans =
0
80
0
80
120
120
80
80
40
40
如果upperValue/spacing
不是整数,则需要使用floor
。如果下界不为0,则可以使用ceil(lowerValue/spacing)
对其执行类似的操作。