Mam taki oto kod całkowania numerycznego metodą Simpsona:
double calka;
int i, n;
n = (xk - xp) / (float)dx;
calka = 0;
s = 0;
for (i=1; i<n; i++)
{
x = xp + i*dx;
s += func(x - dx / 2);
calka += func(x);
}
s += func(xk - dx / 2);
calka = (dx/6) * (func(xp) + func(xk) + 2*calka + 4*s);
return calka;
Problem jednak polega na tym, że standardową całkę potrzebuję troszkę modyfikować.
Potrzebuję zmodyfikować wyżej wymieniony kod tak aby liczyć całkę tą u góry (dodatkowe mnożenie przez x).
Ktoś mógłby doradzić jak zmodyfikować kod aby to zrealizować? Przy całkowaniu prostokątami było to proste ale tutaj za bardzo nie wiem jak to zrobić :/