コード例 #1
0
        public void DataSetManipulationsTest()
        {
            UncertainMeasurement <double> d1 = new UncertainMeasurement <double>(3.0, new UncertainValue(2.0, 1.0));
            UncertainMeasurement <double> d2 = new UncertainMeasurement <double>(-3.0, new UncertainValue(2.0, 1.0));
            UncertainMeasurement <double> d3 = new UncertainMeasurement <double>(3.0, new UncertainValue(-2.0, 1.0));

            Assert.IsTrue(d1 != null);

            UncertainMeasurement <double>[] data = new UncertainMeasurement <double>[] { d1, d2 };
            UncertainMeasurementSample      set  = new UncertainMeasurementSample();

            set.Add(data);

            Assert.IsFalse(set.Contains(d3));
            Assert.IsTrue(set.Count == data.Length);
            set.Add(d3);
            Assert.IsTrue(set.Contains(d3));
            Assert.IsTrue(set.Count == data.Length + 1);
            set.Remove(d3);
            Assert.IsFalse(set.Contains(d3));
            Assert.IsTrue(set.Count == data.Length);

            set.Clear();
            Assert.IsTrue(set.Count == 0);
        }
コード例 #2
0
        private UncertainMeasurementSample CreateDataSet(double[] xs, Func <double, double> fv, Func <double, double> fu, int seed)
        {
            UncertainMeasurementSample set = new UncertainMeasurementSample();
            Random rng = new Random(seed);

            foreach (double x in xs)
            {
                double                        ym    = fv(x);
                double                        ys    = fu(x);
                NormalDistribution            yd    = new NormalDistribution(ym, ys);
                double                        y     = yd.InverseLeftProbability(rng.NextDouble());
                UncertainMeasurement <double> point = new UncertainMeasurement <double>(x, y, ys);
                set.Add(point);
            }
            return(set);
        }
コード例 #3
0
        private UncertainMeasurementSample CreateDataSet(Interval r, Func <double, double> fv, Func <double, double> fu, int n, int seed)
        {
            UncertainMeasurementSample set = new UncertainMeasurementSample();

            UniformDistribution xd = new UniformDistribution(r);

            Random rng = new Random(seed);

            for (int i = 0; i < n; i++)
            {
                double             x  = xd.InverseLeftProbability(rng.NextDouble());
                double             ym = fv(x);
                double             ys = fu(x);
                NormalDistribution yd = new NormalDistribution(ym, ys);
                double             y  = yd.InverseLeftProbability(rng.NextDouble());

                //Console.WriteLine("{0}, {1}", x, new UncertainValue(y, ys));
                UncertainMeasurement <double> point = new UncertainMeasurement <double>(x, y, ys);
                set.Add(point);
            }

            return(set);
        }