public void FitTest2()
{
double[] observations = { 0.25, 0.12, 0.72, 0.21, 0.62, 0.12, 0.62, 0.12 };
{
CauchyDistribution cauchy = new CauchyDistribution();
cauchy.Fit(observations);
Assert.AreEqual(0.18784819147980944, cauchy.Location, 1e-6);
Assert.AreEqual(0.14168064551279669, cauchy.Scale, 1e-6);
Assert.IsFalse(Double.IsNaN(cauchy.Location));
Assert.IsFalse(Double.IsNaN(cauchy.Scale));
}
{
CauchyOptions options = new CauchyOptions()
{
EstimateLocation = true,
EstimateScale = false
};
CauchyDistribution cauchy = new CauchyDistribution(location: 0, scale: 4.2);
cauchy.Fit(observations, options);
Assert.AreEqual(0.34712181102025652, cauchy.Location, 1e-4);
Assert.AreEqual(4.2, cauchy.Scale, 1e-10);
Assert.IsFalse(Double.IsNaN(cauchy.Location));
Assert.IsFalse(Double.IsNaN(cauchy.Scale));
}
}