import java.util.*; //*********************************************************************************** /** Class to return iterate of power-law-maximum map function.
*/ //*********************************************************************************** public class PowerFunction extends Map1DFunction { PowerFunction() { nParameters=2; a=new double[nParameters]; aDefault = new double [nParameters]; aDefault[0]=1.5; aDefault[1]=0.5; aMinimum=0.; aMaximum=getAMaximum(0.5); enforceARange=true; enforceBRange=false; x0Default=0.2; title = "Power Law Map"; } public double evaluateFunction(double x) { return a[0]*(Math.pow(0.5,(1.+a[1]))- Math.pow((Math.abs(x-0.5)),(1.+a[1]))); } public double evaluateDerivative(double x) { if(x<0.5) return a[0]*(1+a[1])*Math.pow(Math.abs(x-0.5),a[1]); else return -a[0]*(1+a[1])*Math.pow(Math.abs(x-0.5),a[1]); } public double getAMaximum(double d) { return Math.pow(2.,1+d); } }