Cześć. Mam problem z obliczaniem całki z pomocą Math.NET. Mianowicie, kiedy ustawię zbyt dużo partycji przy obliczaniu całki, to wynik zaczyna skakać. Np. obliczam sobie całkę oznaczoną (od -pi do pi) z takiego wzoru:
x * cos(3x)
to wynik powinien być równy 0. Sprawdzałem nawet na wolframie i rzeczywiście, jest równy 0. I u mnie też wychodzi 0, jeżeli ustawię liczbę partycji od 10 w dół, jednakże od 12 wynik zaczyna być inny i zaczyna się zmieniać przy każdych kolejnych 2 partycjach(np. dla 12 wynik wynosi -2.222, a dla 14 wynosi -6,643)
Kod wygląda następująco
static double calculateFactor(Func<double, double> givenFunc)
{
double result = 0;
double factor(double t)
{
return givenFunc(t) * Math.Cos(3 * t);
}
result = (SimpsonRule.IntegrateComposite(factor, -Math.PI, Math.PI, 14));
return result;
}
pod "giveFunc" podstawiam po prostu
double x(double t)
{
return t;
}