Проблема состоит в том, что откуда-то появляется добавочная погрешность сначала на +0,00000000000001. Далее она либо ещё раз увеличивается, либо уменьшает числа при расчётах дважды на -0,00000000000001. В чём может быть проблема?( Прилажу иллюстрацию и кусок кода где производятся расчёты!
n1 = (int)((b - x0) / h1);
A1 = new double[n1+1];
x1 = new double[n1+1];
double h2 = Math.Round(h1 / 2,3);
n2 = (int)((b - x0) / h2);
A2 = new double[n2+1];
x2 = new double[n2+1];
x1[0] = x0;
A1[0] = y0;
x2[0] = x0;
A2[0] = y0;
for (int i = 0; i < n1; i++)
{
x1[i + 1] = x1[i] + h1;
A1[i + 1] = A1[i] + h1 * f(x1[i], A1[i]);
}
