Całkowanie numeryczne - metoda Simpsona. a zmodyfikowana całka

Całkowanie numeryczne - metoda Simpsona. a zmodyfikowana całka
HO
  • Rejestracja:ponad 9 lat
  • Ostatnio:około 9 lat
  • Postów:14
0

Mam taki oto kod całkowania numerycznego metodą Simpsona:

Kopiuj
	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ć.

user image

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ć :/

_13th_Dragon
Poszukaj lepszego kodu.
_13th_Dragon
  • Rejestracja:ponad 19 lat
  • Ostatnio:2 dni
0
Kopiuj
double func_x(double x) { return func(x)*x; }

Wykonuję programy na zamówienie, pisać na Priv.
Asm/C/C++/Pascal/Delphi/Java/C#/PHP/JS oraz inne języki.

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.