/* * PolynomialModelFunction.java * * Created on September 3, 2002, 4:07 AM */ package hep.aida.ref.function; /** * * @author serbo */ public class PolynomialModelFunction extends AbstractDevModelFunction { public PolynomialModelFunction(String str) { super(); if(!str.toLowerCase().startsWith("p")) throw new IllegalArgumentException("PolynomialModelFunction Function Qualifier must start with \"P\""); int dim = Integer.parseInt(str.substring(1)); setDimension(1); setNumberOfParameters(dim+1); setCodeletString("PolynomialModelFunction of power " + dim); setTitle(str); } public int dimension() { return dimension; } public int numberOfParameters() { return p.length; } public double functionValue(double[] var) { double val = 0; for (int i=1; i<numberOfParameters(); i++) { val += p[i]*Math.pow(var[0], i); } return val+p[0]; } }