类 RandomDataGenerator
java.lang.Object
org.hipparchus.random.RandomDataGenerator
- 所有已实现的接口:
-
Serializable
,RandomGenerator
用于生成随机数据的类。
- 另请参阅:
-
构造器概要
构造器说明使用默认的RandomGenerator构造一个RandomDataGenerator,作为其随机数据源。RandomDataGenerator
(long seed) 使用给定的种子值初始化一个默认的RandomGenerator作为其随机数据源的RandomDataGenerator。 -
方法概要
修饰符和类型方法说明protected RandomGenerator
delegate()
返回被委托实例,方法将被转发到该实例。double
nextBeta
(double alpha, double beta) 返回具有给定形状和比例参数的下一个伪随机beta分布值。boolean
从此随机数生成器的序列中返回下一个伪随机、均匀分布的boolean
值。void
nextBytes
(byte[] bytes) 生成随机字节并将其放入用户提供的字节数组中。void
nextBytes
(byte[] bytes, int offset, int length) 生成随机字节并将其放入用户提供的字节数组中。int
返回给定分布的随机偏差。double
nextDeviate
(RealDistribution dist) 返回给定分布的随机偏差。int[]
nextDeviates
(IntegerDistribution dist, int size) 返回给定分布的随机偏差数组。double[]
nextDeviates
(RealDistribution dist, int size) 返回给定分布的随机偏差数组。double
从此随机数生成器的序列中返回下一个伪随机、均匀分布的double
值,介于0.0
和1.0
之间。double
nextExponential
(double mean) 返回下一个伪随机、指数分布的偏差。float
从此随机数生成器的序列中返回下一个伪随机、均匀分布的float
值,介于0.0
和1.0
之间。double
nextGamma
(double shape, double scale) 返回具有给定形状和比例参数的下一个伪随机gamma分布值。double
从此随机数生成器的序列中返回下一个伪随机、高斯("正态")分布的double
值,均值为0.0
,标准差为1.0
。nextHexString
(int len) 生成长度为len
的十六进制字符的随机字符串。int
nextInt()
从此随机数生成器的序列中返回下一个伪随机、均匀分布的int
值。int
nextInt
(int n) 从此随机数生成器的序列中返回介于0(包括)和指定值(不包括)之间的均匀分布的int
值。int
nextInt
(int lower, int upper) 返回介于下限和上限(包括)之间的均匀分布的随机整数。double
nextLogNormal
(double shape, double scale) 返回下一个对数正态分布的伪随机偏差。long
nextLong()
从此随机数生成器的序列中返回下一个伪随机、均匀分布的long
值。long
nextLong
(long n) 从此随机数生成器的序列中返回介于0(包括)和指定值(不包括)之间的均匀分布的int
值。long
nextLong
(long lower, long upper) 返回介于下限和上限(包括)之间的均匀分布的随机长整数。double
nextNormal
(double mean, double standardDeviation) 返回下一个正态分布的伪随机偏差。int[]
nextPermutation
(int n, int k) 从整数0, ..., n - 1
(包括)中随机选择,生成长度为k
的整数数组,不重复。int
nextPoisson
(double mean) 返回具有给定均值的泊松分布的偏差。double[]
nextSample
(double[] a, int k) 从双精度数组a
中随机选择k
个双精度值,返回数组。Object[]
nextSample
(Collection<?> c, int k) 从集合c
中随机选择k
个对象,返回数组。int[]
nextSampleWithReplacement
(int sampleSize, double[] weights) 使用权重作为概率,从{0, 1, ... , weights.length - 1}中随机选择大小为sampleSize的随机样本。double
nextUniform
(double lower, double upper) 返回在[lower, upper]范围内均匀分布的双精度值。int
nextZipf
(int numberOfElements, double exponent) 返回遵循给定参数的Zipf分布的整数值。static RandomDataGenerator
of
(RandomGenerator randomGenerator) 使用提供的RandomGenerator
创建一个RandomData
实例的工厂方法。void
setSeed
(int seed) 使用int
种子设置基础随机数生成器的种子。void
setSeed
(int[] seed) 使用int
数组种子设置基础随机数生成器的种子。void
setSeed
(long seed) 使用long
种子设置基础随机数生成器的种子。从类继承的方法 java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
从接口继承的方法 org.hipparchus.random.RandomGenerator
nextBoolean, nextBytes, nextBytes, nextDouble, nextFloat, nextGaussian, nextInt, nextInt, nextLong, nextLong, setSeed, setSeed, setSeed
-
构造器详细资料
-
RandomDataGenerator
public RandomDataGenerator()使用默认的RandomGenerator构造一个RandomDataGenerator,作为其随机数据源。 -
RandomDataGenerator
public RandomDataGenerator(long seed) 使用给定的种子值初始化一个默认的RandomGenerator作为其随机数据源的RandomDataGenerator。- 参数:
-
seed
- 种子值
-
-
方法详细资料
-
of
使用提供的RandomGenerator
创建一个RandomData
实例的工厂方法。- 参数:
-
randomGenerator
- 随机位的来源 - 返回:
- 使用给定的RandomGenerator作为位来源的RandomData
- 抛出:
-
MathIllegalArgumentException
- 如果randomGenerator为null
-
delegate
返回被委托实例,方法将被转发到该实例。具体子类重写此方法以提供被装饰的实例。
- 返回:
- 委托实例
-
nextBeta
public double nextBeta(double alpha, double beta) 返回具有给定形状和比例参数的下一个伪随机beta分布值。- 参数:
-
alpha
- 第一个形状参数(必须为正数)。 -
beta
- 第二个形状参数(必须为正数)。 - 返回:
- beta分布的随机偏差
-
nextExponential
public double nextExponential(double mean) 返回下一个伪随机、指数分布的偏差。- 参数:
-
mean
- 指数分布的均值 - 返回:
- 关于给定均值的指数分布偏差
-
nextGamma
public double nextGamma(double shape, double scale) 返回具有给定形状和比例参数的下一个伪随机gamma分布值。- 参数:
-
shape
- 分布的形状参数 -
scale
- 分布的比例参数 - 返回:
- gamma分布的随机偏差
-
nextNormal
public double nextNormal(double mean, double standardDeviation) 返回下一个正态分布的伪随机偏差。- 参数:
-
mean
- 正态分布的均值 -
standardDeviation
- 正态分布的标准差 - 返回:
- 一个随机值,正态分布的均值和标准差
-
nextLogNormal
public double nextLogNormal(double shape, double scale) 返回下一个对数正态分布的伪随机偏差。- 参数:
-
shape
- 对数正态分布的形状参数 -
scale
- 对数正态分布的比例参数 - 返回:
- 一个随机值,正态分布的均值和标准差
-
nextPoisson
public int nextPoisson(double mean) 返回具有给定均值的泊松分布的偏差。- 参数:
-
mean
- 期望值 - 返回:
- 泊松偏差
- 抛出:
-
MathIllegalArgumentException
- 如果均值不是严格正数
-
nextDeviate
返回给定分布的随机偏差。- 参数:
-
dist
- 要从中抽样的分布 - 返回:
- 遵循给定分布的随机值
-
nextDeviates
返回给定分布的随机偏差数组。- 参数:
-
dist
- 要从中抽样的分布 -
size
- 要返回的值的数量 - 返回:
-
一个包含
size
个值的数组,遵循给定分布
-
nextDeviate
返回给定分布的随机偏差。- 参数:
-
dist
- 要从中抽样的分布 - 返回:
- 遵循给定分布的随机值
-
nextDeviates
返回一个从给定分布中随机抽取的随机变量数组。- 参数:
-
dist
- 要从中抽样的分布 -
size
- 要返回的值的数量 - 返回:
-
一个包含
size
个值的数组,遵循给定分布
-
nextInt
public int nextInt(int lower, int upper) 返回一个介于下限和上限(包括)之间的均匀分布的随机整数。- 参数:
-
lower
- 生成值的下限 -
upper
- 生成值的上限 - 返回:
- 在给定范围内的随机整数值
- 抛出:
-
MathIllegalArgumentException
- 如果下限不严格小于或等于上限
-
nextLong
返回一个介于下限和上限(包括)之间的均匀分布的随机长整型整数。- 参数:
-
lower
- 生成值的下限 -
upper
- 生成值的上限 - 返回:
- 在给定范围内的随机长整型整数值
- 抛出:
-
MathIllegalArgumentException
- 如果下限不严格小于或等于上限
-
nextUniform
public double nextUniform(double lower, double upper) 返回一个在[下限,上限]范围内均匀分布的双精度值- 参数:
-
lower
- 下限 -
upper
- 上限 - 返回:
- 均匀分布的随机变量
- 抛出:
-
MathIllegalArgumentException
- 如果上限小于或等于下限
-
nextZipf
public int nextZipf(int numberOfElements, double exponent) 返回一个具有给定参数的Zipf分布的整数值。- 参数:
-
numberOfElements
- 分布的元素数量 -
exponent
- 分布的指数 - 返回:
- 随机的Zipf值
-
nextHexString
生成长度为len
的十六进制字符随机字符串。生成的字符串是随机的,但不具有密码学安全性。
算法描述: 十六进制字符串是通过两步过程生成的。
- 使用基础Random生成
len / 2 + 1
个二进制字节 - 将每个二进制字节转换为2个十六进制数字
- 参数:
-
len
- 所需字符串长度。 - 返回:
- 随机字符串。
- 抛出:
-
MathIllegalArgumentException
- 如果len <= 0
。
- 使用基础Random生成
-
nextPermutation
从整数0, ..., n - 1
(包括)中随机选择且不重复地选择k
个元素,生成一个整数数组。生成的数组表示从
此方法调用n
个元素中取k
个元素的排列。MathArrays.shuffle
以创建自然数集合{ 0, 1, ..., n - 1 }
的随机洗牌。- 参数:
-
n
- 排列的定义域 -
k
- 排列的大小 - 返回:
-
一个包含
k
个元素的随机k
-排列,作为整数数组 - 抛出:
-
MathIllegalArgumentException
- 如果k > n
。 -
MathIllegalArgumentException
- 如果k <= 0
。
-
nextSample
从集合c
中随机选择k
个对象,返回对象数组。从
c
中进行抽样时不会重复;但如果c
包含相同的对象,则样本可能包含重复。如果c
的所有元素都不同,则生成的对象数组表示c
元素的大小为k
的简单随机样本。此方法调用
nextPermutation(c.size(), k)
以对集合进行抽样。- 参数:
-
c
- 要抽样的集合 -
k
- 样本的大小 - 返回:
-
从
c
中随机抽取的k
个元素的样本 - 抛出:
-
MathIllegalArgumentException
- 如果k > c.size()
。 -
MathIllegalArgumentException
- 如果k <= 0
。
-
nextSample
从双精度数组a
中随机选择k
个双精度值,返回双精度值数组。从
a
中进行抽样时不会重复;但如果a
包含相同的对象,则样本可能包含重复。如果a
的所有元素都不同,则生成的对象数组表示a
元素的大小为k
的简单随机样本。- 参数:
-
a
- 要抽样的数组 -
k
- 样本的大小 - 返回:
-
从
a
中随机抽取的k
个元素的样本 - 抛出:
-
MathIllegalArgumentException
- 如果k > c.size()
。 -
MathIllegalArgumentException
- 如果k <= 0
。
-
nextSampleWithReplacement
public int[] nextSampleWithReplacement(int sampleSize, double[] weights) 使用权重作为概率,从{0, 1, ... , weights.length - 1}中生成大小为sampleSize的随机样本。对于0 < i < weights.length,选择i(在任何抽样中)的概率为weights[i]。如果需要,将权重数组归一化为总和为1,以便weights[i]是概率且数组总和为1。
权重可以为0,但不能为负数、无穷大或NaN。至少有一个权重必须为正数。
- 参数:
-
sampleSize
- 要生成的样本大小 -
weights
- 概率抽样权重 - 返回:
- 介于0和weights.length - 1之间的整数数组
- 抛出:
-
MathIllegalArgumentException
- 如果权重包含负数、NaN或无穷大值,或仅为0,或sampleSize小于0
-
setSeed
public void setSeed(int seed) 使用int
种子设置基础随机数生成器的种子。从相同种子开始生成的值序列应该是相同的。
- 指定者:
-
setSeed
在接口中RandomGenerator
- 参数:
-
seed
- 种子值
-
setSeed
public void setSeed(int[] seed) 使用int
数组种子设置基础随机数生成器的种子。从相同种子开始生成的值序列应该是相同的。
- 指定者:
-
setSeed
在接口中RandomGenerator
- 参数:
-
seed
- 种子值
-
setSeed
public void setSeed(long seed) 使用long
种子设置基础随机数生成器的种子。从相同种子开始生成的值序列应该是相同的。
- 指定者:
-
setSeed
在接口中RandomGenerator
- 参数:
-
seed
- 种子值
-
nextBytes
public void nextBytes(byte[] bytes) 生成随机字节并将它们放入用户提供的字节数组中。生成的随机字节数量等于字节数组的长度。- 指定者:
-
nextBytes
在接口中RandomGenerator
- 参数:
-
bytes
- 非空字节数组,用于放置随机字节
-
nextBytes
public void nextBytes(byte[] bytes, int offset, int length) 生成随机字节并将它们放入用户提供的字节数组中。- 指定者:
-
nextBytes
在接口中RandomGenerator
- 参数:
-
bytes
- 非空字节数组,用于放置随机字节 -
offset
- 将生成的字节插入数组的起始索引 -
length
- 要生成的字节数
-
nextInt
public int nextInt()返回此随机数生成器序列中的下一个伪随机、均匀分布的int
值。所有232个可能的
int
值应该以(大致)相等的概率产生。- 指定者:
-
nextInt
在接口中RandomGenerator
- 返回:
-
此随机数生成器序列中的下一个伪随机、均匀分布的
int
值
-
nextInt
public int nextInt(int n) 返回从此随机数生成器序列中绘制的介于0(包括)和指定值(不包括)之间的伪随机、均匀分布的int
值。- 指定者:
-
nextInt
在接口中RandomGenerator
- 参数:
-
n
- 要返回的随机数的上限。必须是正数。 - 返回:
-
一个伪随机、均匀分布的
int
值,介于0(包括)和n(不包括)之间。
-
nextLong
public long nextLong()返回此随机数生成器序列中的下一个伪随机、均匀分布的long
值。所有264个可能的long
值应以(大致)相等的概率产生。- 指定者:
-
nextLong
在接口中RandomGenerator
- 返回:
-
此随机数生成器序列中的下一个伪随机、均匀分布的
long
值
-
nextLong
public long nextLong(long n) 返回此随机数生成器序列中的下一个伪随机、均匀分布的int
值,介于0(包括)和指定值(不包括)之间。- 指定者:
-
nextLong
在接口中RandomGenerator
- 参数:
-
n
- 要返回的随机数的上限。必须是正数。 - 返回:
-
一个伪随机、均匀分布的
int
值,介于0(包括)和n(不包括)之间。
-
nextBoolean
public boolean nextBoolean()返回此随机数生成器序列中的下一个伪随机、均匀分布的boolean
值。- 指定者:
-
nextBoolean
在接口中RandomGenerator
- 返回:
-
此随机数生成器序列中的下一个伪随机、均匀分布的
boolean
值
-
nextFloat
public float nextFloat()返回此随机数生成器序列中的下一个伪随机、均匀分布的float
值,介于0.0
和1.0
之间。- 指定者:
-
nextFloat
在接口中RandomGenerator
- 返回:
-
此随机数生成器序列中的下一个伪随机、均匀分布的
float
值,介于0.0
和1.0
之间
-
nextDouble
public double nextDouble()返回此随机数生成器序列中的下一个伪随机、均匀分布的double
值,介于0.0
和1.0
之间。- 指定者:
-
nextDouble
在接口中RandomGenerator
- 返回:
-
此随机数生成器序列中的下一个伪随机、均匀分布的
double
值,介于0.0
和1.0
之间
-
nextGaussian
public double nextGaussian()返回此随机数生成器序列中的下一个伪随机、高斯(“正态”)分布的double
值,均值为0.0
,标准差为1.0
。- 指定者:
-
nextGaussian
在接口中RandomGenerator
- 返回:
-
此随机数生成器序列中的下一个伪随机、高斯(“正态”)分布的
double
值,均值为0.0
,标准差为1.0
-