La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

Esercizio n.5 a) Dimostrare che, dato un qualunque  > 0, se  m’ : | I m’ + 1  I m’ |   allora Ciò consente, prefissato un certo  > 0, errore massimo.

Presentazioni simili


Presentazione sul tema: "Esercizio n.5 a) Dimostrare che, dato un qualunque  > 0, se  m’ : | I m’ + 1  I m’ |   allora Ciò consente, prefissato un certo  > 0, errore massimo."— Transcript della presentazione:

1 Esercizio n.5 a) Dimostrare che, dato un qualunque  > 0, se  m’ : | I m’ + 1  I m’ |   allora Ciò consente, prefissato un certo  > 0, errore massimo assoluto voluto nella approssimazione del calcolo di I, di trovare un n sufficientemente grande da verificare la: affinché sia verificata la | I n  I |   per tutti gli n successivi. Dato e la formula del metodo trapezoidale supponendo che f(x)  C 2 [a,b].

2 Esercizio n.5 b) Si scriva un programma in C per trovare una stima di I col metodo trapezoidale e in modo che l’accuratezza sia determinabile a priori secondo il metodo descritto in a). c) Si verifichi la bontà del metodo applicandolo al calcolo dell’integrale per vari gradi di precisione e confrontando il risultato con la soluzione analitica per verificare che l’errore effettivo sia compatibile con la precisione richiesta.

3 Esercizio n.5 d) Si applichi il metodo al calcolo dell’integrale con tre cifre significative.

4 Soluzione n.5a a) Indichiamo con Dato un  > 0, supponiamo che  m : allora, essendo, ma sappiamo che * quindi da cui e dalla (5.1) * vero a patto che f(x)  C 2 [a,b] e ricordando che, in questo caso, |R T | < M/n 2 si ha che(5.1) Dunque abbiamo dimostrato che seallora ma quest’ultima disuguaglianza è in realtà valida  n > m poiché  m è sempre decrescente c.v.d. Nota: la stessa vale anche per il metodo rettangolare, mentre per Simpson va sostituito l’esponente 2 con 4 nella frazione n/(n+1) che va a sua volta sostituita con n/(n+2)

5 Soluzione n.5b Leggi a, b, delta Poni n = 2; h = b - a; deltaI = 1 Poni trap0 = (funz(b) + funz(a)) * h / 2 Esegui loop la prima volta e poi finché deltaI > c1 Poni c1 = delta * (1-n^2/(n+1)^2) Poni h= (b-a)/n Poni trap = 0 Esegui loop per i = 1,2,3,...,n-1 poni trap = trap + 2*funz(a + h*i) Fine loop Poni trap = (trap + funz(a) + funz(b))*h/2 Poni deltaI = Ass(trap - trap0) Poni n = n + 1 Poni trap0 = trap Fine loop Scrivi trap0, n - 1 Fine Algoritmo

6 Soluzione n.5b /* ESERCIZIO 5 programma per il calcolo numerico dell'integrale di una funzione data analiticamente, tra gli estremi a e b che, usando il metodo trapezoidale, si arresta ad un numero di intervalli tali da dare una stima con errore assoluto inferiore a un delta dato. La funzione e‘ specificata in f *** compilare con l'opzione -lm */ #include main() { /* dichiarazione variabili */ int i,n; double nf; double a,b,h,delta,deltaI,c1; double trap,trap0; double f( double ); /*-------------------------*/ printf ("introdurre a, b, delta: "); fflush (stdin); scanf ("%lf,%lf,%lf", &a,&b,&delta); n=2; h=b-a; trap0=(f(b)+f(a))*h*0.5; do { nf=(double)n; c1=delta*(1-pow(nf/(nf+1),2)); h=(b-a)/nf; trap=0; for (i=1; i < n; i=++i) { trap = trap +f(a+h*(double)i); } trap = h*trap + (f(a)+f(b))*h*0.5; deltaI = fabs (trap - trap0); n=n+1; trap0=trap; } while (deltaI > c1) printf ("integrale = %lf \n",trap); printf ("dopo %d passi. \n", n); } double f ( double x) { double funz ; funz = exp(x); return funz; }

7 Soluzione n.5c Il margine d’errore imposto è sempre compatibile (  maggiore) con quello effettivamente commesso. OK! Attenzione: le variabili nel programma devono essere in doppia precisione!

8 Soluzione n.5d il risultato è I = 0.7127  0.0005 che si ottiene con 58 intervalli di integrazione


Scaricare ppt "Esercizio n.5 a) Dimostrare che, dato un qualunque  > 0, se  m’ : | I m’ + 1  I m’ |   allora Ciò consente, prefissato un certo  > 0, errore massimo."

Presentazioni simili


Annunci Google