【问题标题】:Euler Method in Java, Variable Initial ConditionJava中的欧拉方法,可变初始条件
【发布时间】:2015-12-11 03:24:33
【问题描述】:

如何在 Java 中为变量初始条件编写 Euler 方法?例如,y(w)=0 的初始条件。

我要解决的方程式是:

dy/dx = (y-sqrt(x^2 + y^2))/x

我的初始代码很简单。

import java.lang.Math;
public class euler 
{

    public static void main(String arg[]) 
    {
        int N = 10;

        double h = 1.0/N;
        double x0 = w;       //This is what I would like to put in
        double y0 = 0;   

        double x = x0, y = y0;

        for (int i=0;i < N;i++)  
        {
            y += h*f(x, y);
            x += h;

            System.out.println("x, y = " + x + ", " + y);
        }
    }

    static double f(double x, double y) 
    {
        return((y-Math.sqrt(Math.pow(x, 2) + Math.pow(y, 2)))/x);
    }

}

我的代码应该适用于任何类型的 x0 整数值,但我怎样才能让它适用于变量 w?

【问题讨论】:

    标签: java math physics differential-equations calculus


    【解决方案1】:

    您不仅会获得一个解决方案,还会获得一系列由初始条件参数化的解决方案。通过(x0,y0) 的每一点都有一个解决方案,一些(但不是全部)会给出相同的解决方案。

    因此y(w)=0 分别。这对(x0=w, y0=0) 将为每个w 提供一个解决方案,没有什么可以解决以获得w 的特定值。

    ?? w 可以代表omega 而代表无穷大吗?这将是一个有效的问题,以控制渐近行为。


    这个问题的唯一临界点是x=0,甚至只针对y(0)&lt;0,从此微分方程具有奇异性。

    【讨论】:

      猜你喜欢
      • 2019-08-02
      • 2014-02-25
      • 1970-01-01
      • 1970-01-01
      • 2015-07-23
      • 2011-02-14
      • 1970-01-01
      • 2015-01-14
      • 1970-01-01
      相关资源
      最近更新 更多