package nl.fontys.sofa.limo.domain.component.event.distribution; import nl.fontys.sofa.limo.domain.component.event.distribution.input.DoubleInputValue; /** * * @author Matthias Brück */ public class WeibullDistribution extends Distribution { public WeibullDistribution() { super(new DoubleInputValue("Alpha", 0.0), new DoubleInputValue("Beta", 0.0), new DoubleInputValue("Lower Bound", 0.0), new DoubleInputValue("Upper Bound", 0.0)); this.description = "The Weibull distribution is a continuous\n" + "probability distribution.\n" + "Lambda (scale) is element of (0, positiv infinity)\n" + "K (shape) is element of (0, positiv infinity)"; } @Override protected double calculateProbability() { double alpha = ((DoubleInputValue) inputValues.get("Alpha")).getValue(); double beta = ((DoubleInputValue) inputValues.get("Beta")).getValue(); double x0 = ((DoubleInputValue) inputValues.get("Lower Bound")).getValue(); double x1 = ((DoubleInputValue) inputValues.get("Upper Bound")).getValue(); return new org.apache.commons.math3.distribution.WeibullDistribution(alpha, beta).probability(x0, x1); } }