Beispiel #1
0
        public GetQuantedObject(double StepQuant, PointPairList values)
        {
            StepInl = StepQuant;

            double[] valuesY = values.PointPairListGetY();

            int KilInt = (int)((MasFunctions.GetMax(valuesY) -
                                MasFunctions.GetMin(valuesY)) / StepInl);

            RozpodilY = new double[KilInt];
            RozpodilX = new double[KilInt];

            double LastValue = MasFunctions.GetMin(valuesY);
            double sum       = 0;

            for (int i = 0; i < KilInt; i++)
            {
                RozpodilY[i] =
                    MasFunctions.HowNanyInThisInterval(LastValue, LastValue + StepInl, valuesY);
                sum         += RozpodilY[i];
                RozpodilX[i] = LastValue + StepInl / 2.0;
                LastValue   += StepInl;
            }
            //щоб обрахувати імовірність потрапляння похибки в певний діапазон ділимо
            // кількість попадінь похибки і діапазон на всю кількість попадінь похибки
            for (int i = 0; i < KilInt; i++)
            {
                RozpodilY[i] = RozpodilY[i] / (sum * StepInl);
            }
            // для обрахунку щільності імовірності в наближеному випадку можемо поділити імовірність того,
            // що величина потрапить в певний діапазон на величину цього діапазону
        }
Beispiel #2
0
        public static PointPairList CalculateStatisticalUnLinearities(List <int> track, int minCode, int maxCode, ref double inl)
        {
            var result = new PointPairList();

            var trackArray = track.ToArray <int>();

            FixTrack(track, minCode, maxCode);

            double theoreticalProbabilityOfCode = track.Count / (maxCode - minCode);

            foreach (var code in track)
            {
                var hitsOfCode = MasFunctions.HowNanyInThisInterval(code, code, trackArray);
                var dnl        = (hitsOfCode / theoreticalProbabilityOfCode) - 1;
                inl += dnl;
                result.Add(code, dnl);
            }

            return(result);
        }