static void Test_Uniform_Distribution(double[] numbers) { for (int i = 0; i < numbers.Length; i++) { Assert.Equal(1.0d, ContinuousUniform.PDF(0.0d, 1.0d, numbers[i])); } }
public void ValidateDensity(double lower, double upper) { var n = new ContinuousUniform(lower, upper); for (var i = 0; i < 11; i++) { var x = i - 5.0; if (x >= lower && x <= upper) { Assert.AreEqual(1.0 / (upper - lower), n.Density(x)); Assert.AreEqual(1.0 / (upper - lower), ContinuousUniform.PDF(lower, upper, x)); } else { Assert.AreEqual(0.0, n.Density(x)); Assert.AreEqual(0.0, ContinuousUniform.PDF(lower, upper, x)); } } }
/// <summary> /// Uniform Kernel: /// x => Math.Abs(x) <= 1.0 ? 1.0/2.0 : 0.0 /// </summary> public static double UniformKernel(double x) { return(ContinuousUniform.PDF(-1.0, 1.0, x)); }