以一定的间距生成一定范围内的随机数

  • 本文关键字:范围内 随机数 matlab random
  • 更新时间 :
  • 英文 :


我想在指定范围内生成一个随机数的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 = 10upperValue = 120spacing = 40,则得到:

ans =
0
80
0
80
120
120
80
80
40
40

如果upperValue/spacing不是整数,则需要使用floor。如果下界不为0,则可以使用ceil(lowerValue/spacing)对其执行类似的操作。

相关内容

  • 没有找到相关文章

最新更新