Ocena użytkownikóww: ***** / 14
Nadesłany przez Tomasz Lubiński, 18 października 2009 01:00
Kod przedstawiony poniżej przedstawia główną część rozwiązania problemu.
Pobierz pełne rozwiązanie.Jeżeli nie odpowiada Ci sposób formatowania kodu przez autora skorzystaj z pretty printer'a i dostosuj go automatycznie do siebie.
metoda_Simpsona.c:
// Calkowanie numeryczne - metoda Simpsona
// www.algorytm.org
// (c)2007 by Tomasz Lubinski
#include "stdio.h"
//funkcja dla ktorej obliczamy calke
float func(float x) {
return x*x+3;
}
//get data, algorithm
int main(){
float xp, xk, dx, calka, s, x;
int i, n;
printf("Podaj poczatek przedzialu calkowania\n");
scanf("%f", &xp);
printf("Podaj koniec przedzialu calkowania\n");
scanf("%f", &xk);
printf("Podaj dokladnosc calkowania\n");
scanf("%d", &n);
dx = (xk - xp) / (float)n;
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);
printf("Wartosc calki wynosi w przyblizeniu %f\n", calka);
return 0;
}