Пытаюсь перевести код из Pascal в Java. Не получается. помогите пожалуйста [требует правки]

266
10 февраля 2017, 03:01

Суть алгоритма в вычислении определенного интеграла квадратурным методом Гаусса. g10c1, ..., g10x5 - константы, используемые в 10ти точечном методе

public class GaussMath {
double aaa, bbb, kkk;
final double g10c1=0.9739065285/6.2012983932; 
final double g10c2=0.8650633667/6.2012983932; 
final double g10c3=0.6794095683/6.2012983932; 
final double g10c4=0.4333953941/6.2012983932; 
final double g10c5=0.1488743390/6.2012983932; 
final double g10x1=0.0666713443/6.2012983932; 
final double g10x2=0.1494513492/6.2012983932; 
final double g10x3=0.2190863625/6.2012983932; 
final double g10x4=0.2692667193/6.2012983932; 
final double g10x5=0.2955242247/6.2012983932; 
double F(double x)//интегрируемая функция
{
    return kkk*(exp(-aaa * x) - exp(-bbb * x)); 
}
private int exp(double d) {
    return 0;
}
double gauss_calc(double a, double b)//сам десятиточечный метод Гаусса
{
    double n,m,s,s1,s2,s3,s4,s5; 
    m =(b + a) /2; 
    n =(b - a) /2; 
    s1 = g10c1 * (F(m + n * g10x1) + F(m - n * g10x1)); 
    s2 = g10c2 * (F(m + n * g10x2) + F(m - n * g10x2)); 
    s3 = g10c3 * (F(m + n * g10x3) + F(m - n * g10x3)); 
    s4 = g10c4 * (F(m + n * g10x4) + F(m - n * g10x4)); 
    s5 = g10c5 * (F(m + n * g10x5) + F(m - n * g10x5)); 
    s = s1 + s2 + s3 + s4 + s5; 
    return s * (b - a); 
} 
//рекурсивная ф-ция подсчета с заданной точностью
// gc - ранее посчитаный интеграл на интервале (a,b) 
double gauss(double a, double b, double eps, double gc)
{
    double t, ga, gb; 
    t = (a + b) /2; //разбиваем интервал на две половинки
    ga = gauss_calc(a, t); //в каждой половинке считаем интеграл
    gb = gauss_calc(t, b); 
    if (abs(ga + gb - gc) > eps) //проверяем точность вычислений
    {
        ga = gauss(a, t, eps/2, ga); //рекурсия для первой половинки
        gb = gauss(t, b, eps/2, gb); //рекурсия для второй половинки
    } //при этом точность повышаем, чтобы 
    //при сложении ошибка не накапливалась
    return ga + gb; //интеграл = сумме интегралов половинок
} 
    private double abs(double d) {
    return 0;
}
void equateit(double a, double b, double eps) //процедура подсчета значения интеграла и вывода графика на экран
    {
      double integral;
      Scanner in = new Scanner(System.in);
        System.out.print("Введите начало интервала интегрирования a="); 
            Double a = in.nextDouble(); 
        System.out.print("Введите конец интервала интегрирования b="); 
            Double b = in.nextDouble();
        System.out.print("Введите точность интегрирования eps="); 
            Double eps = in.nextDouble();
 integral = gauss(a, b, eps, gauss_calc(a, b)); 
 System.out.println("Интеграл = %5.7lf\n", integral); 
    getClass();
}

}

READ ALSO
Кастомизация switch button android

Кастомизация switch button android

Как сделать такую кнопку в Android?

282
POST запросы в Android. Как?

POST запросы в Android. Как?

Решил попробовать пописать под Android, соответственно появилось очень большое количество вопросовКому не трудно ответьте пожалуйста

971
POST xml Bad Request 400

POST xml Bad Request 400

имеется XML файл matchxml, через curl легко отправить POST и добавить в базу

297
Что возвращает substring(0, 0)

Что возвращает substring(0, 0)

Хотелось бы узнать: какую строку возвращает substring(0, 0), если вызывающая строка состоит только из одного символа?

258