Случайные числа

Предыдущая  Содержание  Следующая  V*D*V

Шум генерируется с использование генераторов случайных чисел.

Ниже приводятся различные алгоритмы для генерации.

Случайные числа с нормальный распределением

В компьютерах для генерация случайных чисел делается с равномерным распределением. При имитации процессов требуется нормальное распределение, так как меньшее отклонение от среднего значения более вероятно, чем большее.

 /**

  * @return случайные числа с распределением по гауссовскому закону

  */

 public static double getNormalRandom() {

         double n = -8.0;

         for( int i = 0; i < 16; i++ ) {

                 n += Math.random();//0...1

         }

         return n;

 }

Случайные числа с равномерным распределением

  private static /*unsigned*/ long randSeed = 22222;

  public static /*unsigned*/ long generateRandomNumber( ) {

            /* Change this for different random sequences. */

            randSeed = (randSeed * 196314165) + 907633515;

            return randSeed;

   }

 

  private static double b_noise = 19.1919191919191919191919191919191919191919;

  public static double easyNoise() {

      //alternatively, the number 19 below can be replaced with a number of your choice, to get that particular flavour of noise.

      b_noise *= b_noise;

      int i_noise = (int)b_noise;

      b_noise -= i_noise;

      double b_noiseout = b_noise - 0.5;

      b_noise = b_noise + 19;

      return b_noiseout;

   }

Предыдущая  Содержание  Следующая