Renormalize an array to make it a probability distribution. - Java java.lang

Java examples for java.lang:Math Array Function

Description

Renormalize an array to make it a probability distribution.

Demo Code

/*//from ww  w . ja  v a2  s. co m
 * Copyright (c) 2014. Real Time Genomics Limited.
 *
 * Use of this source code is bound by the Real Time Genomics Limited Software Licence Agreement
 * for Academic Non-commercial Research Purposes only.
 *
 * If you did not receive a license accompanying this file, a copy must first be obtained by email
 * from support@realtimegenomics.com.  On downloading, using and/or continuing to use this source
 * code you accept the terms of that license agreement and any amendments to those terms that may
 * be made from time to time by Real Time Genomics Limited.
 */
//package com.java2s;

public class Main {
    /**
     * Renormalize an array to make it a probability distribution.
     *
     * @param a relative frequencies
     * @return corresponding probability distribution
     */
    public static double[] renormalize(final int[] a) {
        double s = 0;
        for (final int v : a) {
            s += v;
        }
        s = 1 / s;
        final double[] p = new double[a.length];
        for (int k = 0; k < a.length; k++) {
            p[k] = s * a[k];
        }
        return p;
    }

    /**
     * Renormalize an array to make it a probability distribution.
     *
     * @param a relative frequencies
     * @return corresponding probability distribution
     */
    public static double[] renormalize(final double[] a) {
        double s = 0;
        for (final double v : a) {
            s += v;
        }
        s = 1 / s;
        final double[] p = new double[a.length];
        for (int k = 0; k < a.length; k++) {
            p[k] = s * a[k];
        }
        return p;
    }
}

Related Tutorials