KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > apache > commons > math > analysis > derivative > BackwardDifferenceDerivative


1 /*
2  *
3  * Copyright (c) 2003-2004 The Apache Software Foundation. All rights reserved.
4  *
5  * Licensed under the Apache License, Version 2.0 (the "License"); you may not
6  * use this file except in compliance with the License. You may obtain a copy
7  * of the License at
8  *
9  * http://www.apache.org/licenses/LICENSE-2.0
10  *
11  * Unless required by applicable law or agreed to in writing, software
12  * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
13  * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
14  * License for the specific language governing permissions and limitations
15  * under the License.
16  *
17  */

18
19 package org.apache.commons.math.analysis.derivative;
20
21 import org.apache.commons.math.MathException;
22 import org.apache.commons.math.analysis.UnivariateRealFunction;
23
24 /**
25  * @todo add javadoc comment
26  * @version $Revision$ $Date: 2005-02-26 05:11:52 -0800 (Sat, 26 Feb 2005) $
27  */

28 public class BackwardDifferenceDerivative extends AbstractDifferenceDerivative {
29
30     /**
31      * @todo add javadoc comment
32      */

33     public BackwardDifferenceDerivative(UnivariateRealFunction function, double h) {
34         super(function, h);
35     }
36     
37     /**
38      * @todo add javadoc comment
39      */

40     public double value(double x) throws MathException {
41         UnivariateRealFunction f = getFunction();
42         double h = getDelta();
43         return (f.value(x) - f.value(x - h)) / h;
44     }
45     
46     /**
47      *
48      */

49     public static UnivariateRealFunction decorate(UnivariateRealFunction function, double h) {
50         return new BackwardDifferenceDerivative(function, h);
51     }
52 }
53
Popular Tags