diff --git a/src/Numerics/Statistics/Histogram.cs b/src/Numerics/Statistics/Histogram.cs index 5ec4c4e1..3de073c5 100644 --- a/src/Numerics/Statistics/Histogram.cs +++ b/src/Numerics/Statistics/Histogram.cs @@ -469,31 +469,12 @@ namespace MathNet.Numerics.Statistics } /// - /// Calculate the Minkowski Distance between two histograms + /// Calculate the Distance between two histograms /// /// The histogram that will be compared with this histogram /// The power used for calculating the distance (e.g. 2 for Ecludian distance) + /// A delegate for the distance function /// The distance between the two histograms - public double MinkowskiDistance(Histogram h, int power) - { - if (this.BucketCount != h.BucketCount) - { - throw new ArgumentException("The two histograms must have the same number of buckets"); - } - if (power < 1) - { - throw new ArgumentException("The power must be greater than zero"); - } - double[] a1 = new double[this.BucketCount]; - double[] a2 = new double[this.BucketCount]; - for (int i = 0; i < this.BucketCount; i++) - { - a1[i] = this[i].Count; - a2[i] = h[i].Count; - } - return Distance.Minkowski(2, a1, a2); - } - public double HistogramDistance(Histogram h, double power, Func distanceFunction){ if (this.BucketCount != h.BucketCount) { @@ -509,6 +490,12 @@ namespace MathNet.Numerics.Statistics return distanceFunction(power, a1, a2); } + /// + /// Calculate the Distance between two histograms + /// + /// The histogram that will be compared with this histogram + /// A delegate for the distance function + /// The distance between the two histograms public double HistogramDistance(Histogram h, Func distanceFunction) { if (this.BucketCount != h.BucketCount)