Java Distance Calculate distL1(int[] h1, int[] h2)

Here you can find the source of distL1(int[] h1, int[] h2)

Description

Manhattan distance

License

Open Source License

Parameter

Parameter Description
h1 a parameter
h2 a parameter

Declaration

public static double distL1(int[] h1, int[] h2) 

Method Source Code

//package com.java2s;
/*// www .java 2s  .  c  o m
 * This file is part of the LIRe project: http://www.semanticmetadata.net/lire
 * LIRe is free software; you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation; either version 2 of the License, or
 * (at your option) any later version.
 *
 * LIRe is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License
 * along with LIRe; if not, write to the Free Software
 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
 *
 * We kindly ask you to refer the following paper in any publication mentioning Lire:
 *
 * Lux Mathias, Savvas A. Chatzichristofis. Lire: Lucene Image Retrieval ?
 * An Extensible Java CBIR Library. In proceedings of the 16th ACM International
 * Conference on Multimedia, pp. 1085-1088, Vancouver, Canada, 2008
 *
 * http://doi.acm.org/10.1145/1459359.1459577
 *
 * Copyright statement:
 * ~~~~~~~~~~~~~~~~~~~~
 * (c) 2002-2011 by Mathias Lux (mathias@juggle.at)
 *     http://www.semanticmetadata.net/lire
 */

public class Main {
    /**
     * Manhattan distance
     *
     * @param h1
     * @param h2
     * @return
     */
    public static double distL1(int[] h1, int[] h2) {
        double sum = 0d;
        for (int i = 0; i < h1.length; i++) {
            sum += Math.abs(h1[i] - h2[i]);
        }
        return sum / h1.length;
    }

    public static double distL1(double[] h1, double[] h2) {
        double sum = 0d;
        for (int i = 0; i < h1.length; i++) {
            sum += Math.abs(h1[i] - h2[i]);
        }
        return sum / h1.length;
    }

    public static float distL1(float[] h1, float[] h2) {
        float sum = 0f;
        for (int i = 0; i < h1.length; i++) {
            sum += Math.abs(h1[i] - h2[i]);
        }
        return sum;
    }
}

Related

  1. distFrom(double lat1, double lng1, double lat2, double lng2)
  2. distHalf(double angA, double angB)
  3. distHaversineRAD(double lat1, double lon1, double lat2, double lon2)
  4. distinctFrom(String string, String other)
  5. distL1(double[] h1, double[] h2)
  6. distortion(double[] xvalues, double[] yvalues, int[] include)
  7. distpl(double A, double B, double C, double x, double y)
  8. distPointLineSigned(double px, double py, double qx, double qy, double rx, double ry)
  9. distPointLineSquared(double px, double py, double qx, double qy, double rx, double ry)