Добрый день. Нужна помощь в решении интеграла методом трапеций, есть интеграл 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 шаг один то значение совпадает. Как быть при разных шагах внутри диапазона?