Моделирование распределения - C#
Формулировка задачи:
Добрый день! необходимо смоделировать биномиальное распределение, но получающиеся выборки почему-то не проходят по критерию согласия. Половина выборок вообще состоят из 2 цифр, а не из всех 4 возможных. Не можете подсказать, в чём проблема?
private static readonly Random Random = new Random(); public static double GetRandomNumber(double minimum, double maximum) { return Random.NextDouble() * (maximum - minimum) + minimum; } static int Binomial (int n, double p) { int s=0; for (int i=0;i< n; i++) { double a = GetRandomNumber(0, 1); Console.WriteLine(a); if (a< p) { s++; } } return s; } static void Main(string[] args) { int[] zeichneBinom=new int[100]; int count=0; while (count < 100) { zeichneBinom[count] = Binomial(3, 0.427); count++; } System.IO.StreamWriter textFile = new System.IO.StreamWriter(@"D:binom.txt"); foreach (int t in zeichneBinom) { textFile.WriteLine(zeichneBinom[t]); } textFile.Close(); Console.WriteLine("Выборка сформированна!"); Console.WriteLine(Bernulli(0.5)); Console.WriteLine(Bernulli(0.5)); Console.ReadKey();
Решение задачи: «Моделирование распределения»
textual
Листинг программы
public static double GetRandomNumber(double minimum, double maximum) { var random = 10000* Random.NextDouble(); return (random - Math.Floor(random )) * (maximum - minimum) + minimum; }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д