algorytm.org

Implementacja w C/C++



Baza Wiedzy
wersja offline serwisu przeznaczona na urządzenia z systemem Android
Darowizny
darowiznaWspomóż rozwój serwisu
Nagłówki RSS
Artykuły
Implementacje
Komentarze
Forum
Bookmarki






Sonda
Implementacji w jakim języku programowania poszukujesz?

Całkowanie numeryczne - metoda Simpsona - Implementacja w C/C++
Ocena użytkownikóww: *****  / 14
SłabyŚwietny
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;
}
Dodaj komentarz