基于Java实现欧拉积分法

一、欧拉积分法

欧拉积分法是数值积分方法中精度最低,但也是最容易变成实现的一种方法,其可以写成如下表达式:


基于Java实现欧拉积分法_第1张图片
image.png

其微分方程可定义如下:


image.png

image.png

,则欧拉积分定义为:


image.png

image.png

二、Java实现欧拉积分法

/**
* 二元组
* @param 
* @param 
*/
public class Tuple {
    public final X xValue;
    public final Y yValue;
    public Tuple(X x, Y y){
    xValue = x;
    yValue = y;
    }
    public String toString(){
        return "(" + xValue + ", " + yValue + ")";
    }
}

/**
* 欧拉积分法
* @param x0  函数自变量下确界
* @param x1  函数自变量上确界
* @param fx  原函数
* @param dFx  导函数
* @param step 约等于△x
*/
public List> integral(double x0, double x1, Function fx, Function dFx, double step) {
    List> result = new LinkedList<>();
    // 迭代次数
    double iterations = Math.floor((x1-x0)/step);
    double fx0 = fx.apply(x0);
    result.add(new Tuple(x0, fx0));
    double xResult = 0;
    double yResult = 0;
    int index = 1;
    while(index tuple = result.get(indexM1);
        xResult = tuple.xValue + step;
        double xa = tuple.xValue;
        double ya = tuple.yValue;
        double slope = dFx.apply(xa);
        // 欧拉积分定义
        yResult = ya + step * slope;
        result.add(new Tuple(xResult, yResult));
        index += 1;
    }
    return result;
}

你可能感兴趣的:(基于Java实现欧拉积分法)