产生闭区间随机实数的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
.
的大小
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
.