mscrack
@mscrack

Какой алгоритм у численного метода решения интеграла методом трапеций при разном шаге?

Добрый день. Нужна помощь в решении интеграла методом трапеций, есть интеграл a = 0 b = 1000, есть условие
наша дельта(шаг) разная на отрезке от a до b.
0 - 10 delta 1.5
10 - 100 delta 2.7
100 - 1000 delta 3

double a = A
while (a < B)
{
    var (aRange, bRange) = GetRange(a);

    double delta = func(a);
    while (aRange < bRange)
    {
        double x1 = aRange;
        double x2 = aRange + delta;

       if (x2 >= bRange)
       {
             x2 = bRange;
             delta = x2 - x1;
       }

       double valFirst = F(x1); 
       double valSecond = F(x2);

       Sum += (valFirst + valSecond) / 2.0 * delta;
       aRange += delta;
    }
    a = bRange;
}


значение которое я получаю не совпадает со значением которое выдает другая прога. Если на диапазоне a;b шаг один то значение совпадает. Как быть при разных шагах внутри диапазона?
  • Вопрос задан
  • 4 просмотра
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы