产生闭区间随机实数的matlab函数

Matlab function that generates random real numbers in a closed interval

Matlab中有没有生成闭区间随机实数的函数。我发现了 unifrnd() 的东西,但它在一个开放的时间间隔内生成数字。 如果我使用 unifrnd(x,y);,我得到的是 (x,y) 区间,而不是 [x,y]。

鉴于评论中对准确性的讨论,您可以使用类似的内容:

mag = floor(log10( y - x))  
num = unifrnd(x-(10^mag)*eps, y+(10^mag)*eps)

这实质上是将 "point" 添加到离散区间表示,同时考虑到基于您使用的数字大小的准确性。 unifrnd() 本质上是 rand() 的包装器(这意味着您实际上不需要统计工具箱来执行此操作),因此它实际上只是在 (0,1) 上缩放均匀分布。不过,如果您担心端点,那很重要,因为您无法获得比产品更精细的间隔长度 eps.

的大小