public void ConstructorTest1() { var pnormal = new PowerNormalDistribution(power: 4.2); double cdf = pnormal.DistributionFunction(x: 1.4); // 0.99997428721920678 double pdf = pnormal.ProbabilityDensityFunction(x: 1.4); // 0.00020022645890003279 double lpdf = pnormal.LogProbabilityDensityFunction(x: 1.4); // -0.20543269836728234 double ccdf = pnormal.ComplementaryDistributionFunction(x: 1.4); // 0.000025712780793218926 double icdf = pnormal.InverseDistributionFunction(p: cdf); // 1.3999999999998953 double hf = pnormal.HazardFunction(x: 1.4); // 7.7870402470368854 double chf = pnormal.CumulativeHazardFunction(x: 1.4); // 10.568522382550167 string str = pnormal.ToString(CultureInfo.InvariantCulture); // PND(x; p = 4.2) Assert.AreEqual(10.568522382550167, chf); Assert.AreEqual(0.99997428721920678, cdf); Assert.AreEqual(0.00020022645890003279, pdf); Assert.AreEqual(-0.20543269836728234, lpdf); Assert.AreEqual(7.7870402470368854, hf); Assert.AreEqual(0.000025712780793218926, ccdf); Assert.AreEqual(1.3999999999998953, icdf); Assert.AreEqual("PND(x; p = 4.2)", str); }
public void ConstructorTest1() { var pnormal = new PowerNormalDistribution(power: 4.2); try { double mean = pnormal.Mean; Assert.Fail(); } catch { } try { double variance = pnormal.Variance; Assert.Fail(); } catch { } try { double mode = pnormal.Mode; Assert.Fail(); } catch { } try { double median = pnormal.Median; Assert.Fail(); } catch { } double cdf = pnormal.DistributionFunction(x: 1.4); // 0.99997428721920678 double pdf = pnormal.ProbabilityDensityFunction(x: 1.4); // 0.00020022645890003279 double lpdf = pnormal.LogProbabilityDensityFunction(x: 1.4); // -0.20543269836728234 double ccdf = pnormal.ComplementaryDistributionFunction(x: 1.4); // 0.000025712780793218926 double icdf = pnormal.InverseDistributionFunction(p: cdf); // 1.3999999999998953 double hf = pnormal.HazardFunction(x: 1.4); // 7.7870402470368854 double chf = pnormal.CumulativeHazardFunction(x: 1.4); // 10.568522382550167 string str = pnormal.ToString(CultureInfo.InvariantCulture); // PND(x; p = 4.2) Assert.AreEqual(10.568522382550167, chf); Assert.AreEqual(0.99997428721920678, cdf); Assert.AreEqual(0.00020022645890003279, pdf); Assert.AreEqual(-0.20543269836728234, lpdf); Assert.AreEqual(7.7870402470368854, hf); Assert.AreEqual(0.000025712780793218926, ccdf); Assert.AreEqual(1.3999999999998953, icdf); Assert.AreEqual("PND(x; p = 4.2)", str); var range1 = pnormal.GetRange(0.95); var range2 = pnormal.GetRange(0.99); var range3 = pnormal.GetRange(0.01); Assert.AreEqual(-2.2527196079209415, range1.Min); Assert.AreEqual(0.024970246427532511, range1.Max); Assert.AreEqual(-2.8214873257900464, range2.Min); Assert.AreEqual(0.42876122902825864, range2.Max); Assert.AreEqual(-2.8214873257900464, range3.Min); Assert.AreEqual(0.42876122902825864, range3.Max); }