Gaussian.java

package ac.essex.graphing.charts.continuous; 
 
import ac.essex.graphing.plotting.ContinuousFunctionPlotter; 
 
/** 
 * <p> 
 * Gaussian Function, allows you to plot a Gaussian Probability Density Function 
 * </p> 
 * 
 * <p> 
 * This program 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, 
 * provided that any use properly credits the author. 
 * This program 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 at http://www.gnu.org 
 * </p> 
 * 
 @author Olly Oechsle, University of Essex 
 @version 1.0 
*/ 
public class Gaussian extends ContinuousFunctionPlotter { 
 
    protected double stdDeviation, variance, mean; 
 
    public Gaussian(double stdDeviation, double mean) { 
 
        this.stdDeviation = stdDeviation; 
        variance = stdDeviation * stdDeviation; 
        this.mean = mean; 
 
    } 
 
    public double getY(double x) { 
 
        return Math.pow(Math.exp(-(((x - mean) * (x - mean)) / ((2 * variance)))), 1 / (stdDeviation * Math.sqrt(2 * Math.PI))); 
 
    } 
 
    public String getName() { 
        return "Gaussian Curve"; 
    } 
 
 
}