public void CanCreateWeibull([Values(1.0, 10.0)] double shape, [Values(0.1, 1.0, 10.0, Double.PositiveInfinity)] double scale) { var n = new Weibull(shape, scale); Assert.AreEqual(shape, n.Shape); Assert.AreEqual(scale, n.Scale); }
public void CanCreateWeibull(double shape, double scale) { var n = new Weibull(shape, scale); Assert.AreEqual(shape, n.Shape); Assert.AreEqual(scale, n.Scale); }
public void ValidateToString() { System.Threading.Thread.CurrentThread.CurrentCulture = System.Globalization.CultureInfo.InvariantCulture; var n = new Weibull(1d, 2d); Assert.AreEqual("Weibull(k = 1, λ = 2)", n.ToString()); }
public static double WEIBULL(double x, double shape, double scale, bool state) { if (state == false) { return(Weibull.PDF(shape, scale, x)); } return(Weibull.CDF(shape, scale, x)); }
public void CanEstimateParameters(double shape, double scale) { var original = new Weibull(shape, scale, new Random(100)); var estimated = Weibull.Estimate(original.Samples().Take(10000)); AssertHelpers.AlmostEqualRelative(shape, estimated.Shape, 1); AssertHelpers.AlmostEqualRelative(scale, estimated.Scale, 1); }
public void ValidateMode( [Values(1.0, 1.0, 10.0, 10.0)] double shape, [Values(0.1, 1.0, 10.0, 1.0)] double scale, [Values(0.0, 0.0, 9.8951925820621439264623017041980483215553841533709, 0.98951925820621439264623017041980483215553841533709)] double mode) { var n = new Weibull(shape, scale); Assert.AreEqual(mode, n.Mode); }
public void ValidateMedian( [Values(1.0, 1.0, 10.0, 10.0)] double shape, [Values(0.1, 1.0, 10.0, 1.0)] double scale, [Values(0.069314718055994530941723212145817656807550013436026, 0.69314718055994530941723212145817656807550013436026, 9.6401223546778973665856033763604752124634905617583, 0.96401223546778973665856033763604752124634905617583)] double median) { var n = new Weibull(shape, scale); AssertHelpers.AlmostEqual(median, n.Median, 13); }
public void ValidateStdDev( [Values(1.0, 1.0, 10.0, 10.0)] double shape, [Values(0.1, 1.0, 10.0, 1.0)] double scale, [Values(0.1, 1.0, 1.1445721940300799194124723631014002560036613065794, 0.11445721940300799194124723631014002560036613065794)] double sdev) { var n = new Weibull(shape, scale); AssertHelpers.AlmostEqual(sdev, n.StdDev, 13); }
public void ValidateVariance( [Values(1.0, 1.0, 10.0, 10.0)] double shape, [Values(0.1, 1.0, 10.0, 1.0)] double scale, [Values(0.01, 1.0, 1.3100455073468309147154581687505295026863354547057, 0.013100455073468309147154581687505295026863354547057)] double var) { var n = new Weibull(shape, scale); AssertHelpers.AlmostEqual(var, n.Variance, 13); }
public void ValidateMean( [Values(1.0, 1.0, 10.0, 10.0)] double shape, [Values(0.1, 1.0, 10.0, 1.0)] double scale, [Values(0.1, 1.0, 9.5135076986687318362924871772654021925505786260884, 0.95135076986687318362924871772654021925505786260884)] double mean) { var n = new Weibull(shape, scale); AssertHelpers.AlmostEqual(mean, n.Mean, 13); }
public void ValidateSkewness( [Values(1.0, 1.0, 10.0, 10.0)] double shape, [Values(0.1, 1.0, 10.0, 1.0)] double scale, [Values(2.0, 2.0, -0.63763713390314440916597757156663888653981696212127, -0.63763713390314440916597757156663888653981696212127)] double skewness) { var n = new Weibull(shape, scale); AssertHelpers.AlmostEqual(skewness, n.Skewness, 11); }
public void ValidateCumulativeDistribution( [Values(1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 10.0, 10.0, 10.0, 10.0, 10.0, 10.0)] double shape, [Values(0.1, 0.1, 0.1, 1.0, 1.0, 1.0, 10.0, 10.0, 10.0, 1.0, 1.0, 1.0)] double scale, [Values(0.0, 1.0, 10.0, 0.0, 1.0, 10.0, 0.0, 1.0, 10.0, 0.0, 1.0, 10.0)] double x, [Values(0.0, 0.99995460007023751514846440848443944938976208191113, 0.99999999999999999999999999999999999999999996279924, 0.0, 0.63212055882855767840447622983853913255418886896823, 0.99995460007023751514846440848443944938976208191113, 0.0, 9.9999999995000000000166666666662500000000083333333e-11, 0.63212055882855767840447622983853913255418886896823, 0.0, 0.63212055882855767840447622983853913255418886896823, 1.0)] double cdf) { var n = new Weibull(shape, scale); AssertHelpers.AlmostEqual(cdf, n.CumulativeDistribution(x), 15); }
public void ValidateDensity( [Values(1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 10.0, 10.0, 10.0, 10.0, 10.0, 10.0)] double shape, [Values(0.1, 0.1, 0.1, 1.0, 1.0, 1.0, 10.0, 10.0, 10.0, 1.0, 1.0, 1.0)] double scale, [Values(0.0, 1.0, 10.0, 0.0, 1.0, 10.0, 0.0, 1.0, 10.0, 0.0, 1.0, 10.0)] double x, [Values(10.0, 0.00045399929762484851535591515560550610237918088866565, 3.7200759760208359629596958038631183373588922923768e-43, 1.0, 0.36787944117144232159552377016146086744581113103177, 0.000045399929762484851535591515560550610237918088866565, 0.0, 9.9999999990000000000499999999983333333333750000000e-10, 0.36787944117144232159552377016146086744581113103177, 0.0, 3.6787944117144232159552377016146086744581113103177, 0.0)] double pdf) { var n = new Weibull(shape, scale); AssertHelpers.AlmostEqual(pdf, n.Density(x), 14); }
public void ValidateDensityLn( [Values(1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 10.0, 10.0, 10.0, 10.0, 10.0, 10.0)] double shape, [Values(0.1, 0.1, 0.1, 1.0, 1.0, 1.0, 10.0, 10.0, 10.0, 1.0, 1.0, 1.0)] double scale, [Values(0.0, 1.0, 10.0, 0.0, 1.0, 10.0, 0.0, 1.0, 10.0, 0.0, 1.0, 10.0)] double x, [Values(2.3025850929940456840179914546843642076011014886288, -7.6974149070059543159820085453156357923988985113712, -97.697414907005954315982008545315635792398898511371, 0.0, -1.0, -10.0, Double.NegativeInfinity, -20.723265837046411156161923092159277868409913397659, -1.0, Double.NegativeInfinity, 1.3025850929940456840179914546843642076011014886288, -9.999999976974149070059543159820085453156357923988985113712e9)] double pdfln) { var n = new Weibull(shape, scale); AssertHelpers.AlmostEqual(pdfln, n.DensityLn(x), 14); }
public void AG_TimeTargetEQ1() { Double beta = 1.0, eta = 2.0, W = 1000.0, deltaY = 0.005; Double alpha = 1.0 / (1.0 + 0.0525); Int32 NY = 30; Int32 numIter = 0; String errorMessage = null; Int32 y = Weibull.TimeTarget(eta, beta, NY, deltaY, W, alpha, true, out numIter, out errorMessage); Assert.IsTrue(y < 0); }
public void AE_TimeTargetGT1() { Double beta = 2.85894, eta = 7.50274, W = 1000.0, deltaY = 0.005; Double alpha = 1.0 / (1.0 + 0.0525); Int32 NY = 30; Int32 numIter = 0; String errorMessage = null; Int32 y = Weibull.TimeTarget(eta, beta, NY, deltaY, W, alpha, true, out numIter, out errorMessage); Assert.IsTrue(y > 0, errorMessage); Assert.IsTrue(y == 32, "y<>32"); }
public void AD_TimeTargetBetaLT1() { Double beta = 0.5, eta = 2.0, W = 1000.0, deltaY = 0.005; Double alpha = 1.0 / (1.0 + 0.0525); Int32 NY = 30; Int32 numIter = 0; String errorMessage = null; Int32 y = Weibull.TimeTargetBetaLTOne(eta, beta, NY, deltaY, W, alpha, true, out numIter, out errorMessage); Assert.IsTrue(y > 0, errorMessage); Assert.IsTrue(y == 123, "y<>123"); }
public static void weibull_cdf_values_test() //****************************************************************************80 // // Purpose: // // WEIBULL_CDF_VALUES_TEST tests WEIBULL_CDF_VALUES. // // Licensing: // // This code is distributed under the GNU LGPL license. // // Modified: // // 12 June 2007 // // Author: // // John Burkardt // { double alpha = 0; double beta = 0; double fx = 0; double x = 0; Console.WriteLine(""); Console.WriteLine("WEIBULL_CDF_VALUES_TEST:"); Console.WriteLine(" WEIBULL_CDF_VALUES returns values of "); Console.WriteLine(" the Weibull Cumulative Density Function."); Console.WriteLine(""); Console.WriteLine(" Alpha Beta X CDF(X)"); Console.WriteLine(""); int n_data = 0; for (;;) { Weibull.weibull_cdf_values(ref n_data, ref alpha, ref beta, ref x, ref fx); if (n_data == 0) { break; } Console.WriteLine(" " + alpha.ToString(CultureInfo.InvariantCulture).PadLeft(8) + " " + beta.ToString(CultureInfo.InvariantCulture).PadLeft(8) + " " + x.ToString(CultureInfo.InvariantCulture).PadLeft(8) + " " + fx.ToString("0.################").PadLeft(24) + ""); } }
public void CanSampleStatic() { Weibull.Sample(new Random(0), 1.0, 1.0); }
public void ValidateMaximum() { var n = new Weibull(1.0, 1.0); Assert.AreEqual(Double.PositiveInfinity, n.Maximum); }
public void ValidateMedian(double shape, double scale, double median) { var n = new Weibull(shape, scale); AssertHelpers.AlmostEqualRelative(median, n.Median, 13); }
public void ValidateSkewness(double shape, double scale, double skewness) { var n = new Weibull(shape, scale); AssertHelpers.AlmostEqualRelative(skewness, n.Skewness, 10); }
public void ValidateVariance(double shape, double scale, double var) { var n = new Weibull(shape, scale); AssertHelpers.AlmostEqualRelative(var, n.Variance, 12); }
public void ValidateDensityLn(double shape, double scale, double x, double pdfln) { var n = new Weibull(shape, scale); AssertHelpers.AlmostEqual(pdfln, n.DensityLn(x), 14); }
public void ValidateCumulativeDistribution(double shape, double scale, double x, double cdf) { var n = new Weibull(shape, scale); AssertHelpers.AlmostEqual(cdf, n.CumulativeDistribution(x), 15); }
public void SetShapeFailsWithNegativeShape(double shape) { var n = new Weibull(1.0, 1.0); n.Shape = shape; }
public void SetScaleFailsWithNegativeScale(double scale) { var n = new Weibull(1.0, 1.0); n.Scale = scale; }
public void CanSetShape(double shape) { var n = new Weibull(1.0, 1.0); n.Shape = shape; }
public void CanSetScale(double scale) { var n = new Weibull(1.0, 1.0); n.Scale = scale; }
public void SetShapeFailsWithNegativeShape([Values(-1.0, -0.0, 0.0)] double shape) { var n = new Weibull(1.0, 1.0); Assert.Throws<ArgumentOutOfRangeException>(() => n.Shape = shape); }
public void ValidateStdDev(double shape, double scale, double sdev) { var n = new Weibull(shape, scale); AssertHelpers.AlmostEqualRelative(sdev, n.StdDev, 12); }
public void SetScaleFailsWithNegativeScale(double scale) { var n = new Weibull(1.0, 1.0); Assert.Throws<ArgumentOutOfRangeException>(() => n.Scale = scale); }
public void ValidateMode(double shape, double scale, double mode) { var n = new Weibull(shape, scale); Assert.AreEqual(mode, n.Mode); }
public void ValidateCumulativeDistribution(double shape, double scale, double x, double cdf) { var n = new Weibull(shape, scale); AssertHelpers.AlmostEqualRelative(cdf, n.CumulativeDistribution(x), 14); }
public void ValidateMinimum() { var n = new Weibull(1.0, 1.0); Assert.AreEqual(0.0, n.Minimum); }
public void ValidateDensityLn(double shape, double scale, double x, double pdfln) { var n = new Weibull(shape, scale); AssertHelpers.AlmostEqualRelative(pdfln, n.DensityLn(x), 14); }
public void CanSampleSequenceStatic() { var ied = Weibull.Samples(new Random(0), 1.0, 1.0); GC.KeepAlive(ied.Take(5).ToArray()); }
private static void weibull_cdf_test() //****************************************************************************80 // // Purpose: // // WEIBULL_CDF_TEST tests WEIBULL_CDF. // // Licensing: // // This code is distributed under the GNU LGPL license. // // Modified: // // 06 April 2016 // // Author: // // John Burkardt // { int i; int seed = 123456789; Console.WriteLine(""); Console.WriteLine("WEIBULL_CDF_TEST"); Console.WriteLine(" WEIBULL_CDF evaluates the Weibull CDF;"); Console.WriteLine(" WEIBULL_CDF_INV inverts the Weibull CDF."); Console.WriteLine(" WEIBULL_PDF evaluates the Weibull PDF;"); double a = 2.0; double b = 3.0; double c = 4.0; Console.WriteLine(""); Console.WriteLine(" PDF parameter A = " + a + ""); Console.WriteLine(" PDF parameter B = " + b + ""); Console.WriteLine(" PDF parameter C = " + c + ""); if (!Weibull.weibull_check(a, b, c)) { Console.WriteLine(""); Console.WriteLine("WEIBULL_CDF_TEST - Fatal error!"); Console.WriteLine(" The parameters are not legal."); return; } Console.WriteLine(""); Console.WriteLine(" X PDF CDF CDF_INV"); Console.WriteLine(""); for (i = 1; i <= 10; i++) { double x = Weibull.weibull_sample(a, b, c, ref seed); double pdf = Weibull.weibull_pdf(x, a, b, c); double cdf = Weibull.weibull_cdf(x, a, b, c); double x2 = Weibull.weibull_cdf_inv(cdf, a, b, c); Console.WriteLine(" " + x.ToString(CultureInfo.InvariantCulture).PadLeft(12) + " " + pdf.ToString(CultureInfo.InvariantCulture).PadLeft(12) + " " + cdf.ToString(CultureInfo.InvariantCulture).PadLeft(12) + " " + x2.ToString(CultureInfo.InvariantCulture).PadLeft(12) + ""); } }
public void ValidateMaximum() { var n = new Weibull(1.0, 1.0); AssertEx.AreEqual<double>(System.Double.PositiveInfinity, n.Maximum); }
public void ValidateMedian(double shape, double scale, double median) { var n = new Weibull(shape, scale); AssertHelpers.AlmostEqual(median, n.Median, 13); }
public void ValidateMode(double shape, double scale, double mode) { var n = new Weibull(shape, scale); AssertEx.AreEqual<double>(mode, n.Mode); }
public void ValidateSkewness(double shape, double scale, double skewness) { var n = new Weibull(shape, scale); AssertHelpers.AlmostEqual(skewness, n.Skewness, 11); }
public void ValidateStdDev(double shape, double scale, double sdev) { var n = new Weibull(shape, scale); AssertHelpers.AlmostEqual(sdev, n.StdDev, 13); }
public void ValidateVariance(double shape, double scale, double var) { var n = new Weibull(shape, scale); AssertHelpers.AlmostEqual(var, n.Variance, 13); }
public void ValidateToString() { var n = new Weibull(1.0, 2.0); Assert.AreEqual("Weibull(Shape = 1, Scale = 2)", n.ToString()); }
public void WeibullCreateFailsWithBadParameters(double shape, double scale) { var n = new Weibull(shape, scale); }
public void CanCreateWeibull(double shape, double scale) { var n = new Weibull(shape, scale); AssertEx.AreEqual<double>(shape, n.Shape); AssertEx.AreEqual<double>(scale, n.Scale); }