org.esa.beam.framework.datamodel
Class RationalFunctionModel

java.lang.Object
  extended by org.esa.beam.framework.datamodel.RationalFunctionModel
All Implemented Interfaces:
Cloneable

public class RationalFunctionModel
extends Object
implements Cloneable

Class for approximating a function of two variables with a rational function.

Version:
$Revision$ $Date$
Author:
Ralf Quast

Constructor Summary
RationalFunctionModel(int degreeP, int degreeQ, double[] x, double[] y, double[] g)
          Constructs a rational function model for approximating a function g(x, y) with a rational function R(x, y) = P(x, y) / Q(x, y) where P and Q are polynomials of up to 4th degree.
 
Method Summary
 double getRmse()
          Returns the root mean square error (RMSE) of the approximation.
static int getTermCountP(int degreeP)
           
static int getTermCountQ(int degreeQ)
           
 double getValue(double x, double y)
          Returns the rational function value approximating g(x, y).
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

RationalFunctionModel

public RationalFunctionModel(int degreeP,
                             int degreeQ,
                             double[] x,
                             double[] y,
                             double[] g)
Constructs a rational function model for approximating a function g(x, y) with a rational function R(x, y) = P(x, y) / Q(x, y) where P and Q are polynomials of up to 4th degree.

Parameters:
degreeP - the degree of the numerator polynomial P.
degreeQ - the degree of the denominator polynomial Q.
x - the x-coordinates corresponding to the function values being approximated.
y - the y-coordinates corresponding to the function values being approximated.
g - the function values g(x, y) being approximated.
Throws:
IllegalArgumentException - if the degree of the numerator or denominator polynomial is greater than four.
IllegalArgumentException - if the lengths of x, y, and g are not the same.
Method Detail

getTermCountP

public static int getTermCountP(int degreeP)

getTermCountQ

public static int getTermCountQ(int degreeQ)

getValue

public double getValue(double x,
                       double y)
Returns the rational function value approximating g(x, y).

Parameters:
x - the x-coordinate.
y - the y-coordinate.
Returns:
the rational function value R(x, y).

getRmse

public double getRmse()
Returns the root mean square error (RMSE) of the approximation.

Returns:
the root mean square error.


Copyright © 2002-2013 Brockmann Consult GmbH. All Rights Reserved.