类 RandomDataGenerator
java.lang.Object
org.hipparchus.random.RandomDataGenerator
- 所有已实现的接口:
-
Serializable,RandomGenerator
用于生成随机数据的类。
- 另请参阅:
-
构造器概要
构造器构造器说明使用默认的RandomGenerator构造一个RandomDataGenerator,作为其随机数据源。RandomDataGenerator(long seed) 使用给定的种子值初始化一个默认的RandomGenerator作为其随机数据源的RandomDataGenerator。 -
方法概要
修饰符和类型方法说明protected RandomGeneratordelegate()返回被委托实例,方法将被转发到该实例。doublenextBeta(double alpha, double beta) 返回具有给定形状和比例参数的下一个伪随机beta分布值。boolean从此随机数生成器的序列中返回下一个伪随机、均匀分布的boolean值。voidnextBytes(byte[] bytes) 生成随机字节并将其放入用户提供的字节数组中。voidnextBytes(byte[] bytes, int offset, int length) 生成随机字节并将其放入用户提供的字节数组中。int返回给定分布的随机偏差。doublenextDeviate(RealDistribution dist) 返回给定分布的随机偏差。int[]nextDeviates(IntegerDistribution dist, int size) 返回给定分布的随机偏差数组。double[]nextDeviates(RealDistribution dist, int size) 返回给定分布的随机偏差数组。double从此随机数生成器的序列中返回下一个伪随机、均匀分布的double值,介于0.0和1.0之间。doublenextExponential(double mean) 返回下一个伪随机、指数分布的偏差。float从此随机数生成器的序列中返回下一个伪随机、均匀分布的float值,介于0.0和1.0之间。doublenextGamma(double shape, double scale) 返回具有给定形状和比例参数的下一个伪随机gamma分布值。double从此随机数生成器的序列中返回下一个伪随机、高斯("正态")分布的double值,均值为0.0,标准差为1.0。nextHexString(int len) 生成长度为len的十六进制字符的随机字符串。intnextInt()从此随机数生成器的序列中返回下一个伪随机、均匀分布的int值。intnextInt(int n) 从此随机数生成器的序列中返回介于0(包括)和指定值(不包括)之间的均匀分布的int值。intnextInt(int lower, int upper) 返回介于下限和上限(包括)之间的均匀分布的随机整数。doublenextLogNormal(double shape, double scale) 返回下一个对数正态分布的伪随机偏差。longnextLong()从此随机数生成器的序列中返回下一个伪随机、均匀分布的long值。longnextLong(long n) 从此随机数生成器的序列中返回介于0(包括)和指定值(不包括)之间的均匀分布的int值。longnextLong(long lower, long upper) 返回介于下限和上限(包括)之间的均匀分布的随机长整数。doublenextNormal(double mean, double standardDeviation) 返回下一个正态分布的伪随机偏差。int[]nextPermutation(int n, int k) 从整数0, ..., n - 1(包括)中随机选择,生成长度为k的整数数组,不重复。intnextPoisson(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的随机样本。doublenextUniform(double lower, double upper) 返回在[lower, upper]范围内均匀分布的双精度值。intnextZipf(int numberOfElements, double exponent) 返回遵循给定参数的Zipf分布的整数值。static RandomDataGeneratorof(RandomGenerator randomGenerator) 使用提供的RandomGenerator创建一个RandomData实例的工厂方法。voidsetSeed(int seed) 使用int种子设置基础随机数生成器的种子。voidsetSeed(int[] seed) 使用int数组种子设置基础随机数生成器的种子。voidsetSeed(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
-