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); }
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); }
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); }