当前位置: 首页 > 知识库问答 >
问题:

给定最小、最大、均值和标准差,使用Java从分布中生成随机值

姬锐
2023-03-14

假定最小=0.00,最大=1400.00,均值=150.50,标准差=25.00,如何根据这些统计数据产生随机值?根据我的理解,这个图是一个斜图,但是我不太确定它是否是一个对数正态分布。然而,从我目前的理解来看,下面的代码返回的值来自正态分布。

private static int generateValue(double mean, double stdDev) {
    return (rand.nextGaussian() * stdDev) + mean);
}

共有1个答案

路奇
2023-03-14

您可以使用do while或just while循环,然后您可以简单地使用if语句为您的数字设置参数并生成一个随机数!

import java.util.Random;
class GenerateRandom {
public static void main( String args[] ) {
  Random rand = new Random(); //instance of random class
  int upperbound = 25;
    //generate random values from 0-24
  int int_random = rand.nextInt(upperbound); 
  double double_random=rand.nextDouble();
  float float_random=rand.nextFloat();
  
  System.out.println("Random integer value from 0 to" + (upperbound-1)       + " : "+ int_random);
  System.out.println("Random float value between 0.0 and 1.0 :  "+float_random);
  System.out.println("Random double value between 0.0 and 1.0 : "+double_random);
}
 类似资料:
  • 我有有限的数据RV,我可以找到平均mu和标准差sigma。现在我想生成更多的数据点保持相同的mu和sigma。在MATLAB中我怎么做呢?我做了以下工作,但是当我绘制生成的数据(mu_2)的平均值时,它不匹配MU...

  • 我统一生成了随机数。现在我想使用高斯(正态分布)生成随机数。我不知道均值和标准差。我看过这篇文章:http://www.johndcook.com/cpp_tr1_random.html#normal,但它需要一个均值和标准差!我也知道Box-Muller变换是常用的。这正确地产生了正态分布的值。但我又不知道均值和标准偏差。请不要刺激。有人能帮忙吗?

  • 有一个函数,但它就像抽样一样,不是我想要的。

  • 我想在最小到最大的间隔上生成随机整数。对于numpy中的均匀分布: 这正是我想要的。 然而,我现在想给随机数的分布一个指数偏差。对此有许多建议,例如伪随机数发生器-指数分布以及numpy函数< code > numpy . random . random state . Exponential ,但是这些建议没有解决如何将分布约束到最小值和最大值之间的整数。我不知道如何做到这一点,同时仍然确保随机

  • 问题内容: 最重要的答案是建议使用switch语句来完成这项工作。但是,如果我要考虑的情况很多,那么代码看起来就很笨拙。我有一个巨大的switch语句,在每种情况下都一遍又一遍地重复非常相似的代码。 当您要考虑的概率很大时,是否有更好,更干净的方法来选择具有一定概率的随机数?(例如〜30) 问题答案: 这是一个Swift实现,受各种答案的影响很大,这些答案会生成具有给定(数字)分布的随机数 对于

  • 如果正确,则当 Z来自mu'=0,sigma'=1的标准正态分布Z时,我的y将从对数正态分布中提取。 最后,如果 y=exp^(ln((mean^2)/(sqrt(variance+mean^2))+sqrt(ln(1+(variance)/(mean^2)))*Z),y来自具有均值和方差的对数正态分布是否正确? 我的SAS代码是: 参考资料: Rick Wicklin的函数:http://blo