QUADRATURA NUMERICA CALCOLO DI AREE E VOLUMI. A. Murli a.a. 2002/2003 CALCOLO DELL AREA DI UNA FIGURA NEL PIANO

Documenti analoghi
SESSIONE ORDINARIA 2007 CORSO DI ORDINAMENTO SCUOLE ITALIANE ALL ESTERO - AMERICHE

Integrazione numerica

SIMULAZIONE TEST ESAME - 1

PROBLEMI TRADIZIONALI SIMULAZIONE DELLA PROVA DI MATEMATICA

MINISTERO DELL'ISTRUZIONE, DELL'UNIVERSITÀ, DELLA RICERCA SCUOLE ITALIANE ALL ESTERO

Massimi e minimi vincolati in R 2 - Esercizi svolti

Classificazione Singolarità isolate, Serie di Laurent, Residui, Teorema dei residui e applicazioni

EQUAZIONI non LINEARI

3. Sia g(x) = 4. Si calcoli l area del triangolo mistilineo ROS, ove l arco RS appartiene al grafico di f(x) o, indifferentemente, di g(x).

Documentazione esterna al software matematico sviluppato con MatLab

CAPITOLO 16 SUCCESSIONI E SERIE DI FUNZIONI

CONTINUITÀ E DERIVABILITÀ Esercizi proposti. 1. Determinare lim M(sinx) (M(t) denota la mantissa di t)

Introduzione al MATLAB c Parte 2

STRUTTURE (O COSTRUTTI) DI CONTROLLO

EQUAZIONI DIFFERENZIALI. 1. Trovare tutte le soluzioni delle equazioni differenziali: (a) x = x 2 log t (d) x = e t x log x (e) y = y2 5y+6

DAL DIAGRAMMA AL CODICE

ORDINAMENTO 2014 QUESITO 1

Definizione Dati due insiemi A e B, contenuti nel campo reale R, si definisce funzione reale di variabile reale una legge f : A

DAL PROBLEMA AL CODICE: ATTRAVERSO LO PSEUDOCODICE

Sistemi Web per il turismo - lezione 3 -

Regola del partitore di tensione

Creare una funzione float square(float x). La funzione deve restituire il quadrato del parametro x.

Corso di Laurea in Ingegneria Informatica Analisi Numerica

PROVA DI VERIFICA DEL 24/10/2001

I appello - 26 Gennaio 2007

Fondamenti di Internet e Reti

Note su quicksort per ASD (DRAFT)

allora la retta di equazione x=c è asintoto (verticale) della funzione

Appunti sul corso di Complementi di Matematica- modulo Analisi Prof. B.Bacchelli

Analisi Matematica 2 per Matematica Esempi di compiti, primo semestre 2011/2012

Equazioni differenziali ordinarie

Istituto Professionale di Stato per l Industria e l Artigianato Giancarlo Vallauri. Classi I C I G

PROGRAMMA DI SCIENZE E TECNOLOGIE APPLICATE 2015/2016 Classe 2ª Sez. C Tecnologico

SVILUPPO IN SERIE DI FOURIER. Prof. Attampato Daniele

INTEGRALI DEFINITI. Tale superficie viene detta trapezoide e la misura della sua area si ottiene utilizzando il calcolo di un integrale definito.

Corso di Fondamenti di Informatica prova del 04/07/2008

Consideriamo due polinomi

RETTE, PIANI, SFERE, CIRCONFERENZE

7 Esercizi e complementi di Elettrotecnica per allievi non elettrici. Circuiti elementari

Metodi numerici per la risoluzione di equazioni. Equazioni differenziali ordinarie

Esercizi svolti Esperimentazioni di Fisica 2 A.A Elena Pettinelli

b) Il luogo degli estremanti in forma cartesiana è:

LICEO SCIENTIFICO STATALE G.GALILEI CATANIA A.S. 2006/2007 SIMULAZIONE DI II PROVA - A

Esercizi Capitolo 6 - Alberi binari di ricerca

Esercizi svolti. 1. Si consideri la funzione f(x) = 4 x 2. a) Verificare che la funzione F(x) = x 2 4 x2 + 2 arcsin x è una primitiva di

Syllabus: argomenti di Matematica delle prove di valutazione

Proposta di soluzione della prova di matematica Liceo scientifico di Ordinamento

VARIABILI ALEATORIE CONTINUE

Prof. Giuseppe Chiumeo. Avete già studiato che qualsiasi algoritmo appropriato può essere scritto utilizzando soltanto tre strutture di base:

FUNZIONI CONTINUE - ESERCIZI SVOLTI

Complementi di Matematica e Calcolo Numerico A.A Laboratorio 10 - Integrazione numerica

Laboratorio 2. Calcolo simbolico, successioni, limiti e derivate

Grafici tridimensionali

Università degli Studi di Catania A.A Corso di laurea in Ingegneria Industriale

UNIVERSITA DEGLI STUDI DI PADOVA DIPARTIMENTO DI INGEGNERIA IDRAULICA, MARITTIMA E GEOTECNICA

Sono casi particolari di MCF : SPT (cammini minimi) non vi sono vincoli di capacità superiore (solo x ij > 0) (i, j) A : c ij, costo di percorrenza

Quesiti di Analisi Matematica A

4.1 Modelli di calcolo analisi asintotica e ricorrenze

Il programma OCTAVE per l insegnamento dell algebra lineare nella Scuola Secondaria p. 1

Test del Software. Definizione SCOPO LIMITI DEL TEST

EQUAZIONI DIFFERENZIALI Esercizi svolti. y = xy. y(2) = 1.

Il comando provoca il salvataggio dello stato e la terminazione dell esecuzione.

PROTOCOLLO ITACA PUGLIA RESIDENZIALE Istruzioni d'uso del software Versione 1.0

TSP con eliminazione di sottocicli

RIDUZIONE DELLE DISTANZE

Protocollo dei saperi imprescindibili Ordine di scuola: professionale

Informatica Teorica. Macchine a registri

COGNOME e NOME: FIRMA: MATRICOLA:

LE FUNZIONI A DUE VARIABILI

Interpolazione ed approssimazione di funzioni

CONTINUITÀ E DERIVABILITÀ Esercizi risolti

FUNZIONI ELEMENTARI - ESERCIZI SVOLTI

1 Serie di Taylor di una funzione

La programmazione con vincoli in breve. La programmazione con vincoli in breve

TSP con eliminazione di sottocicli

Analisi dei segnali nel dominio della frequenza

SPAZI METRICI. Uno spazio metrico X con metrica d si indica con il simbolo (X, d). METRICI 1

SOLUZIONE DEL PROBLEMA 1 CORSO SPERIMENTALE P.N.I. 2014

Lezione2 Ricerca di zeri. Fernando Palombo

Funzioni. Il concetto di funzione nasce da quello di corrispondenza fra grandezze. Tale corrispondenza può essere data in svariati modi:

Illustrazione 1: Telaio. Piantanida Simone 1 G Scopo dell'esperienza: Misura di grandezze vettoriali

I costi d impresa (R. Frank, Capitolo 10)

AA LA RICORSIONE

I appello - 24 Marzo 2006

ESAME DI STATO DI LICEO SCIENTIFICO CORSO DI ORDINAMENTO 2001 Sessione suppletiva

PROMEMORIA: Come creare, compilare ed eseguire programmi in Fortran 95

COGNOME... NOME... Matricola... Corso Prof... Esame di ANALISI MATEMATICA I - 11 Febbraio 2011, ore 8.30

Disegno in quadretti le parti da calcolare; se capisco quanto vale un quadretto è fatta.

Matematica e Statistica

Limiti e continuità di funzioni reali di una variabile

Ricerca non informata in uno spazio di stati

Laboratorio Complementi di Ricerca Operativa DEI, Politecnico di Milano. Stima di parametri

Sintesi di reti logiche multilivello. Sommario. Motivazioni. Sommario. M. Favalli

STRUTTURE ISOSTATICHE REAZIONI VINCOLARI ED AZIONI INTERNE

Semantica dei programmi. La semantica dei programmi è la caratterizzazione matematica dei possibili comportamenti di un programma.

Esercizio 2 Si consideri la funzione f definita dalle seguenti condizioni: e x. per x 1 f(x) = α x + e 1 per 1 < x

RICHIAMI SULLE MATRICI. Una matrice di m righe e n colonne è rappresentata come

ESERCIZIO 1 (Definizione funzioni passaggio parametri per copia)

Il foglio elettronico

Equazioni non lineari

Transcript:

QUADRATURA NUMERICA CALCOLO DI AREE E VOLUMI CALCOLO DELL AREA DI UNA FIGURA NEL PIANO F A Area ( F ) = Area(E) + Area( D ) + Area( C ) +Area( B ) + Area(A) A è un rettangolo, quindi Area(A) = Prodotto dei lati di A PROBLEMA: Come calcolare le aree di B,C,D ed E?

Il calcolo delle aree di B,C,D, ed E può essere ricondotto al calcolo dell area dellafigurasottesadaunacurva: Se y=f(x) è la funzione che rappresenta la curva, a tale figura R si dà il nome di RETTANGOLOIDE ed inoltre Area ( R ) = I ( f ) = f ( x ) dx b a PROBLEMA: Come calcolare l area di un RETTANGOLOIDE?

ESEMPI: Area(R) Area(U)= f(a) (b-a) Area(R) Area(V) = f(m) (b-a) FORMULA RETTANGOLARE FORMULA DEL PUNTO MEDIO ESEMPI: S Area(R) Area(T) = ( b a) [f(a)+f(b)] 2 Area(R) Area(S)= ( b a) [f(a)+ 4f(m)+f(b)] 6 FORMULA TRAPEZOIDALE FORMULA DI SIMPSON

ESEMPIO: SOMMA DI RIEMANN a=t 0 t 1 t 2 t 3 t 4 =b L approccio più naturale per il calcolo di un integrale è quello di approssimare con combinazioni lineari della funzione integranda FORMULE DI QUADRATURA

Formula Rettangolare Formula del Punto Medio Formula Trapezoidale Formula di Simpson Somme di Riemann sono tutte combinazioni lineari della funzione integranda, ovvero FORMULE DI QUADRATURA A1, A2,..., An x 1, x 2,..., x n sono detti pesi o coefficienti sono detti nodi Ω ESEMPIO: Calcolo dell area del cerchio Ω di raggio 1 in un sistema aritmetico floating-point con β=10 e t=5 ( Area(Ω) = π = 3,1415926.) D B PQ = 2 Dividiamo il cerchio Ω in un quadrato B, ed in 4 calotte circolari. Area(Ω) = Area(B)+4Area(D) MA Area(B)= 2 PQ = 2 Come calcolare l area delle calotte?

AREA DELLA CALOTTA CIRCOLARE D Per la simmetria della calotta D Area(D) = Area(V) + Area(W) = 2Area(V). D W V s V è la porzione di piano compresa tra il semiasse positivo delle y, il semiasse positivo delle x e l arco di circonferenza s. AREA DELLA CALOTTA CIRCOLARE D Per la simmetria della calotta D Area(D) = Area(V) + Area(W) = 2Area(V). D W V s Per determinare l equazione dell arco di circonferenza s, consideriamo la semicirconferenza, nel semipiano delle y positive, centrata nell origine, di equazione: y = 1 2 x ( 1 x 1) y 2 2 ( x + y = 1) (1,0) x

AREA DELLA CALOTTA CIRCOLARE D Per la simmetria della calotta D Area(D) = Area(V) + Area(W) = 2Area(V). D W V s Per determinare l equazione dell arco di circonferenza s, consideriamo la semicirconferenza, nel semipiano delle y positive, centrata nell origine, di equazione: L equazione dell arco di circonferenza s, si ottiene spostando verso il basso di 2/2 la circonferenza centrata nell origine, y = 1 2 x ( 0 x y 2 / 2) P M=O Q=( 2/2,0) s x AREA DELLA CALOTTA CIRCOLARE D Per la simmetria della calotta D Area(D) = Area(V) + Area(W) = 2Area(V). D W V s Quindi per avere l equazione dell arco di circonferenza s, è sufficiente sottrarre 2/2, ottenendo: f(x) = y = 1 2 x 2 2 ( 0 x 2 / 2) 2 2 0 1 x 2 Area(D)/2 = Area(V)= I[f] = 2 dx 2 = π 2 8 = 0.142699075

APPLICHIAMO LA FORMULA TRAPEZOIDALE V T 0 Q = 2 / 2 2 2 I[f] Q[f] = f(0) + f 0.10355 x 10 4 2 0 Ma il valore esatto di I[f] è I[f]=0.14269... I[f] IN GENERALE Q[f] ERRORE = I[f] Q[f] PROBLEMA: Quanto vale L errore? ERRORE = I[f] Q[f] = 0.39149 x 10-1 0.14269 x 10 0 0.10355 x 10 0

CONSIDERIAMO ANCORA IL CERCHIO Ω Ω Su ogni calotta abbiamo applicato due volte la Formula Trapezoidale PROBLEMA: QUANTO VALE L ERRORE SU Ω? ERRORE COMMESSO SU Ω L esatto valore di Area(Ω) è Area(Ω)= π Il valore approssimato di Area(Ω) con la Formula Trapezoidale è Area(Ω) 2+8(0.10355 x 10 0 ) =0.28484 x 10 1 ERRORE (Ω) =π-2,8484 3.1415-2,8484= 0.31310 x 10 0

DEFINIZIONE: La differenza E[f] = I[f] - Q[f] = b n f(x)dx a i = 1 A f(x i i ) è detta ERRORE DI DISCRETIZZAZIONE della FORMULA DI QUADRATURA Q[f] INTERPRETAZIONE GEOMETRICA DELL ERRORE DI DISCRETIZZAZIONE E[f] Q[f] a I[f] b I[f] = Q[f]+E[f]

PROBLEMA: Come ridurre L ERRORE DI DISCRETIZZAZIONE di una FORMULA DI QUADRATURA? Relativamente all esempio dell area della semicalotta circolare V....: V T 0 Q = 2 / 2 Applicando la FORMULA TRAPEZOIDALE sull intero intervallo [0, 2 / 2 ] si è ottenuto: I[f] = 0.14269 x 10 0 Q[f] = 0.10355 x 10 0 E[f]= 0.39149 x 10-1

Applicando invece la FORMULA TRAPEZOIDALE 2 2 2 nei due sottointervalli 0, e,, si ottiene 4 4 2 Errore E 2 [f] T 1 T 2 0 2 2/ 2 2 Q 2 [f]=area(t 1 )+Area(T 2 )= 2 2 f(0) + f + f 8 4 8 0.13250 x 10 0 2 + f 4 2 2 E 2 [f]= π 2 0 0.13250x10 8 0.10199 x 10-1 Ricordando che E[f]= 0.39149 x 10-1 si ha E 2 [f] 1 4 E[f] DIMEZZANDO L AMPIEZZA DEGLI INTERVALLI L ERRORE SI E RIDOTTO DI CIRCA 4 VOLTE!

Un modo per ridurre l errore di discretizzazione di una formula di quadratura è quello di applicarla più volte su sottointervalli di ampiezza più piccola ESEMPIO f((a+b)/2) f(b) f(a) a T 1 T 2 (a+b)/2 b Formula trapezoidale su 1 sottointervallo Formula trapezoidale su 2 sottointervalli Dimezzando ancora l ampiezza dei sottointervalli Errore E 4 [f] v = Q 4 [f] = Area(T 1 )+ Area(T 2 )+ Area(T 3 )+ Area(T 4 ) = 0 T 1 T 2 T 3 T 4 2/8 2 2 2 3 2 2 f(0) + f + + +... f f 16 8 16 8 2 2/4 3 2/8 2 0.14014 x 10 0 π 2 0 E 4 [f]= 0.14014 x10 0.25591 x 10-2 8

Ricordando ancora che E[f] = 0.39149 x 10-1 E 2 [f]= 0.10199 x 10-1 si ha E 4 [f] 1 4 E 2 [f] 1 16 E[f] DIMEZZANDO L AMPIEZZA DEGLI INTERVALLI L ERRORE SI E RIDOTTO ANCORA DI 4 VOLTE! IDEA: FORMULE COMPOSITE a b Applicare la FORMULA TRAPEZOIDALE su m sottointervalli di [a,b].

DEFINIZIONE: Suddiviso l intervallo [a,b] in m sottointervalli [t 0,t 1 ], [t 1,t 2 ],..., [t (m-1),t m ] di uguale ampiezza h=(b-a)/m mediante gli m+1 punti a = t 0 < t 1 <... < t m = b SI DEFINISCE T m [f] la somma T m [f] = 2 h FORMULA TRAPEZOIDALE COMPOSITA f(t h h [f(t 0 )+f(t 1 )] +... + [f(t (m-1) )+f(t m )] = 2 m + 1 0 ) f(tm ) f(t + j) 2 j= 1 2 L esempio precedente ha messo in luce che raddoppiando il numero dei sottointervalli l errore della formula si riduce di circa quattro volte. PROBLEMA: E sempre possibile RIDURRE l ERRORE riducendo l ampiezza h dei sottointervalli?

TEOREMA IPOTESI f(x) funzione integrabile T m [f] formula trapezoidale composita su [a,b] E m [f]=i[f]-t m [f], errore di discretizzazione di T m [f] h=(b-a)/m, ampiezza dei sottointervalli di [a,b] T m [f] = f(t 0 ) h 2 m + j= 1 1 f(t j ) + f(t m ) 2 TESI La famiglia T m [f] m=1,2,. è CONVERGENTE cioè lim m 8 E m [f]=0 Dimostrazione: t t j j 1 f(x)dx Applichiamo la formula base T[f] nell intervallo [t j-1,t j ] (b a) 2m [ f(t ) + f(t )] j 1 j Sommando su tutti gli intervalli [t j-1,t j ], si ottiene 1 2 (b a) (b a) ( f(t ) f(t ) m m = j 1 + j) j= 1 2m T [f] = (b a) m m f(t j 1) + f(t j) j= 1 m j= 1 m SOMME DI RIEMANN

Poichè f(x) è integrabile tutte le somme di Riemann convergono, quindi lim m m j= 1 (b a) m m (b a) m f(t j 1) = lim f(t j) = f(x)dx= m j= 1 b a I[f] ricordando che in generale E m =I-T m, abbiamo lim m E m [] f = I [] f lim T [] f = m m 1 = I[] f 2 I[] f = 0 2 C.V.D. L errore di discretizzazione è stato definito come E[f]=I[f]-Q[f] MA I[f] NON E NOTO PROBLEMA: Come determinare una stima calcolabile dell errore di discretizzazione E m [f] della Formula Trapezoidale Composita T m [f]?

ESEMPIO:Come stimare l errore di discretizzazione? Indichiamo con T m [f] la Formula Trapezoidale Composita su [a,b] con m sottointervalli. Per l errore di T m [f] vale: E m [f] = I[f]-T m [f] Indichiamo con T 2m [f] la Formula Trapezoidale Composita su [a,b] con 2m sottointervalli. Per l errore di T 2m [f] vale: E 2m [f] = I[f]-T 2m [f] ESEMPIO:Come stimare l errore di discretizzazione? E m = I-T m E 2m = I-T 2m errore di T m [f] errore di T 2m [f] Sottraendo E m [f] da E 2m [f], otteniamo E 2m -E m =I-T 2m -( I-T m ) = I-T 2m -I+T m = T m -T 2m E 2m [f]-e m [f]=t m [f]-t 2m [f] (A)

ESEMPIO:Come stimare l errore di discretizzazione? E m = I-T m E 2m = I-T 2m errore di T m [f] errore di T 2m [f] E 2m [f]-e m [f]=t m [f]-t 2m [f] (A) E m [f] 4E 2m [f] (B) Sostituendo (B) in (A), e passando ai valori assoluti,... Ricordando che raddoppiando i sottointervalli l errore diventa circa un quarto, ESEMPIO:Come stimare l errore di discretizzazione? T m [f]-t 2m [f] = E m [f]-e 2m [f] 4E 2m [f]-e 2m [f] T m [f]-t 2m [f] 3 E 2m [f] STIMA CALCOLABILE DELL ERRORE E 2m [f] T m [f]-t 2m [f] / 3

Nota Dalla definizione segue che l errore di dicretizzazione, può essere POSITIVO E[f] Q[f] I[f] a b I[f]>Q[f] E[f]>0 Nota Dalla definizione segue che l errore di dicretizzazione, può essere NEGATIVO E[f] Q[f] I[f] a b I[f]<Q[f] E[f]<0

Nota Solitamente con errore si intende, la distanza tra approssimazione e soluzione esatta. Di norma le distanze sono POSITIVE. Per questo motivo spesso sarà UTILE ed OPPORTUNO ottenere una STIMA del MODULO dell ERRORE DI DISCRETIZZAZIONE. OSSERVAZIONE: Se la Formula Trapezoidale Composita T m è già stata calcolata, utilizzando la formula T 2m, si hanno 2 VANTAGGI: Un miglioramento dell accuratezza dovuto all aumento del numero dei nodi. RIDUZIONE DELL ERRORE DI DISCRETIZZAZIONE la funzione integranda è valutata solo nei punti medi degli m sottointervalli di T m RISPARMIO SULLE VALUTAZIONI DI FUNZIONE

RISPARMIO SULLE VALUTAZIONI DI FUNZIONE Sia [a,b] l intervallo di integrazione. Per il calcolo di T m sono utilizzati i nodi: * Nodi di T m a * * * * * * b RISPARMIO SULLE VALUTAZIONI DI FUNZIONE Sia [a,b] l intervallo di integrazione. Per il calcolo di T 2m sono utilizzati i nodi: * Nodi di T m o Nodi di T 2m o o o o o o o o o o o a * * * * * * b

RISPARMIO SULLE VALUTAZIONI DI FUNZIONE Sia [a,b] l intervallo di integrazione. * Nodi di T m o Nodi di T 2m o* o o* o o* o * o o * o o o* a b DEFINIZIONE: Una coppia di formule di quadratura (T m [f],t 2m [f]), in cui l insieme dei nodi della prima formula è contenuto nell insieme dei nodi della seconda formula è detta: COPPIA DI FORMULE INNESTATE ESEMPIO: Se m è un qualsiasi numero naturale la coppia di Formule Trapezoidali Composite (T m [f],t 2m [f]), è una coppia di FORMULE INNESTATE.

PROBLEMA: Progettare un ALGORITMO per il CALCOLO di I[f] = b f(x)dx a corretto a meno di una tolleranza fissata TOL con la Formula Trapezoidale Composita. SOLUZIONE: Si dimezza progressivamente l intervallo [a,b], applicando la Formula Trapezoidale Composita su un numero crescente di sottointervalli,finché: La stima dell errore è minore di TOL. OPPURE Si è raggiunto un numero massimo di valutazioni per la funzione integranda MAXVAL (in questo caso si avvisa con un messaggio di errore IFLAG.)

DEFINIZIONE: Un INTEGRATORE AUTOMATICO è una ROUTINE che a,b f(x) TOL MAXVAL RICHIEDE IN INPUT una gli estremi massimo tolleranza funzionenumero TOL MAXVAL dell intervallo integrabile di f(x) valutazioni [a,b] per la f(x) INTEGRATORE AUTOMATICO DEFINIZIONE: Un INTEGRATORE AUTOMATICO è una ROUTINE che a,b f(x) TOL MAXVAL FORNISCE IN OUTPUT una stima messaggio,iflag, dell errore Q[f] di dell integrale per dicretizzazione informare I[f] l utente E[f] se è stata raggiunta la tolleranza TOL. INTEGRATORE AUTOMATICO Q[f] E[f] IFLAG

DEFINIZIONE: Un INTEGRATORE AUTOMATICO è una ROUTINE che FASE DI INPUT a,b f(x) TOL MAXVAL INTEGRATORE AUTOMATICO FASE DI OUTPUT Q[f] E[f] IFLAG ESEMPIO DI ROUTINE PER IL CALCOLO APPROSSIMATO DI UN INTEGRALE procedure Trapez1 (input:a,b,tol,f,maxval; output:int,err,iflag) /* SCOPO: calcolo di un intergrale definito con la formula trapezoidale composita a meno di una tolleranza assegnata. */ /* SPECIFICHE: */ var: a,b,tol,int,err,h,x,oldint,sum real var: Maxval,Iflag,m,fval integer external function f real /* ESECUZIONE: */ m:=2 h:=(b-a)/m x:=(a+b)/m oldint:=h*(f(a)+f(b)) Int:=oldint/2+h*f(x) fval:=3 Err:= Int-oldint /3 /* ciclo di iterazione principale con test sull errore */ while (Err > Tol and fval<maxval) do

m:=2*m h:=h/2 sum:=0 /* calcolo della formula trapezoidale composita su m punti medi */ for k=1,m,2 x:=a+k*h sum:=sum+f(x) fval:= fval+1 endfor oldint:= Int Int:=oldint/2+h*sum /* stima dell errore */ Err:= Int-oldint /3 endwhile /* definizione della variabile Iflag */ if (fval<maxval) then Iflag:=0 else Iflag:=1 endif Return Int,Err,Iflag end Trapez1 ESEMPIO: VOGLIAMO CALCOLARE I[f] = 5 5 (3e x 2 + 1)dx UTILIZZANDO LA PRECEDENTE ROUTINE

APPROSSIMAZIONE DI I[f] SU 5 SOTTOINTERVALLI ( T 5 [f] ) 4 Grafico di f(x)=3e -x^2 +1 3 2 1 o o o o o o 0-1 -5-4 -3-2 -1 0 1 2 3 4 5 In giallo tratteggiato l area calcolata. APPROSSIMAZIONE DI I[f] SU 10 SOTTOINTERVALLI ( T 10 [f] ) 4 3 o Grafico di f(x)=3e -x^2 +1 2 1 0-1 o o o o o o o o o o -5-4 -3-2 -1 0 1 2 3 4 5 In giallo tratteggiato l area calcolata.

PARTIZIONAMENTO UNIFORME DELL INTERVALLO DI INTEGRAZIONE Intervalli troppo larghi nella parte centrale di [a,b] (INSUFFICIENTE) Intervalli troppo stretti verso gli estremi di [a,b] (INUTILE) ALGORITMI NON ADATTATIVI PROBLEMA: E possibile PROGETTARE un ALGORITMO che SI ADATTA alla funzione?

SOLUZIONE: PARTIZIONAMENTO NON UNIFORME DELL INTERVALLO DI INTEGRAZIONE ALGORITMI ADATTATIVI ALGORITMI ADATTATIVI STRATEGIA 1: infittire dove l errore è massimo in modulo. E 1 E 2 PASSO 1 E 1 E 2 E 3 a=x 0 x 2 b=x 1 a=x 0 x 3 x 2 b=x 1 L errore massimo in modulo è E 1, in corrispondenza dell intervallo [x 0,x 2 ], Suddividiamo [x 0,x 2 ] in [x 0,x 3 ] e [x 3,x 2 ]. (CONTINUA...)

CONTINUA: ALGORITMI ADATTATIVI STRATEGIA 1: infittire dove l errore è massimo in modulo. E 1 E 2 E 3 PASSO 2 E 1 E 2 E 3 E 4 a=x 0 x 3 x 2 b=x 1 a=x 0 x 3 x 2 x 4 b=x 1 L errore massimo in modulo è E 3, in corrispondenza dell intervallo [x 2,x 1 ]. Suddividiamo [x 2,x 1 ] in [x 2,x 4 ] e [x 4,x 1 ]. (CONTINUA...) CONTINUA: ALGORITMI ADATTATIVI STRATEGIA 1: infittire dove l errore è massimo in modulo. E 2 E 3 E 2 E 3 E 1 E 4 PASSO 3 E 1 E 4 E 5 a=x 0 x 3 x 2 x 4 b=x 1 a=x 0 x 3 x 5 x 2 x 4 b=x 1 L errore massimo in modulo è E 2, in corrispondenza dell intervallo [x 3,x 2 ]. Suddividiamo [x 3,x 2 ] in [x 3,x 5 ] e [x 5,x 2 ]. ( e così via...)

ALGORITMI ADATTATIVI STRATEGIA 2: infittire finchè non si è soddisfatta la tolleranza locale (TOL ), esaminando l intervallo più a sinistra Prossimo intervallo da esaminare [x o,x 2 ]. E 1 E 2 PASSO 1 E 1 E 2 E 3 a=x 0 x 2 b=x 1 a=x 0 x 3 x 2 b=x 1 TOLLERANZA LOCALE NON SODDISFATTA Cosa si intende con TOLLERANZA LOCALE? Suddividiamo [x 0,x 2 ] in [x 0,x 3 ] e [x 3,x 2 ]. (CONTINUA...) CONTINUA: Prossimo intervallo da esaminare [x o,x 3 ]. ALGORITMI ADATTATIVI STRATEGIA 2: infittire finchè non si è soddisfatta la tolleranza locale (TOL ), esaminando l intervallo più a sinistra E 1 E 2 E 3 PASSO 2 E 1 E 2 E 3 E 4 a=x 0 x 3 x 2 b=x 1 x 4 a=x 0 x 3 x 2 b=x 1 TOLLERANZA LOCALE NON SODDISFATTA Suddividiamo [x 0,x 3 ] in [x 0,x 4 ] e [x 4,x 3 ]. (CONTINUA...)

CONTINUA: ALGORITMI ADATTATIVI STRATEGIA 2: infittire finchè non si è soddisfatta la tolleranza locale (TOL ), esaminando l intervallo più a sinistra Prossimo intervallo da esaminare [x o,x 4 ]. E 2 E 3 E 4 E 2 E 3 E 4 E 1 PASSO 3 E 1 x 4 a=x 0 x 3 x 2 b=x 1 TOLLERANZA LOCALE SODDISFATTA x 4 a=x 0 x 3 x 2 b=x 1 L intervallo [x o,x 4 ] non viene più esaminato. Si passa ad esaminare il successivo più a sinistra. (CONTINUA...) CONTINUA: ALGORITMI ADATTATIVI STRATEGIA 2: infittire finchè non si è soddisfatta la tolleranza locale (TOL ), esaminando l intervallo più a sinistra Prossimo intervallo da esaminare [x 4,x 3 ]. E 2 E 3 E 4 E 2 E 3 E 4 E 1 PASSO 4 E 1 x 4 a=x 0 x 3 x 2 b=x 1 TOLLERANZA LOCALE SODDISFATTA x 4 a=x 0 x 3 x 2 b=x 1 L intervallo [x 4,x 3 ] non viene più esaminato. Si passa ad esaminare il successivo più a sinistra. ( e così via...)

ALGORITMI ADATTATIVI DUE POSSIBILI STRATEGIE STRATEGIA 1 ADATTATIVA GLOBALE Si suddivide l intervallo dove è massima la stima del modulo dell errore. STRATEGIA 2 ADATTATIVA LOCALE Si suddivide l intervallo più a sinistra fino al raggiungimento dell accuratezza richiesta. STRATEGIA 1 ADATTATIVA GLOBALE Si calcolano preliminarmente Q [a,b] ed una stima del modulo di E [a,b]. Al primo passo Se E [a,b] TOL Altrimenti l algoritmo termina e Q [a,b] è l approssimazione di I[f]. si divide [a,b] in due sottointervalli, [a,m] e [m,b]. Si calcolano poi Q [a,m] Q [m,b] E [a,m] E [m,b]

STRATEGIA 1 ADATTATIVA GLOBALE E [a,b] > TOL Al secondo passo Se E [a,m] + E [m,b] TOL Altrimenti l algoritmo termina e Q [a,m] +Q [m,b] è l approssimazione di I[f]. si ricerca l intervallo dove la stima dell errore è massima in modulo e lo si divide in due ulteriori sottointervalli. Si calcolano poi, in tali sottointervalli, le stime del modulo dell errore e dell integrale. STRATEGIA 1 ADATTATIVA GLOBALE L intervallo [a,b] si trova suddiviso in una partizione di n sottointervalli [c j,d j ]. Al n-esimo passo Se E[c,d TOL j j j ] l algoritmo termina e l approssimazione di I[f] è, j altrimenti si ricerca l intervallo dove la stima dell errore è massima in modulo e lo si divide in due ulteriori sottointervalli. Q[c,d Si calcolano poi, in tali sottointervalli, le stime del modulo dell errore e dell integrale. j j ]

STRATEGIA 1 ADATTATIVA GLOBALE In generale l algoritmo termina quando La stima del modulo dell errore è non superiore a TOL. j E [c,d ] j j TOL OPPURE STRATEGIA 1 ADATTATIVA GLOBALE In generale l algoritmo termina quando Si è raggiunto un numero massimo di valutazioni per la funzione integranda MAXVAL. NUMVAL = MAXVAL NUMERO DI VALUTAZIONI EFFETTUATE

STRATEGIA 1 ADATTATIVA GLOBALE In generale l algoritmo termina quando Si è raggiunto un numero massimo di valutazioni per la funzione integranda MAXVAL. In questo caso si avvisa l utente di tale circostanza con un messaggio di errore: IFLAG STRATEGIA 1 ADATTATIVA GLOBALE In ogni caso, quando termina, l algoritmo fornisce come stima di I[f], l ultima approssimazione data da: I[f] j Q [ j j c,d ]

STRATEGIA 2 ADATTATIVA LOCALE Si calcolano preliminarmente Q [a,b] ed una stima del modulo di E [a,b]. Al primo passo Se E [a,b] TOL Altrimenti l algoritmo termina e Q [a,b] è l approssimazione di I[f]. si divide [a,b] in due sottointervalli, [a,m] e [m,b]. Si calcolano poi Q [a,m] Q [m,b] E [a,m] E [m,b] STRATEGIA 2 ADATTATIVA LOCALE E [a,b] > TOL Al secondo passo Se E [a,m] TOL / 2 TOLLERANZA RELATIVA LOCALE si aggiunge Q [a,m] al valore della variabile INTEG. La variabile INTEG al termine dell algoritmo contiene l approssimazione dell INTEGRALE

STRATEGIA 2 Al secondo passo Se E [a,m] TOL / 2 ADATTATIVA LOCALE E [a,b] > TOL TOLLERANZA RELATIVA LOCALE si aggiunge Q [a,m] al valore della variabile INTEG. si aggiunge E [a,m] al valore della variabile ERROR. La variabile ERROR al termine dell algoritmo contiene l approssimazione dell ERRORE STRATEGIA 2 ADATTATIVA LOCALE E [a,b] > TOL Al secondo passo Se E [a,m] TOL / 2 si aggiunge Q [a,m] al valore della variabile INTEG, si aggiunge E [a,m] al valore della variabile ERROR, si esamina l intervallo [m,b]. Altrimenti si divide [a,m] in due sottointervalli, in tali sottointervalli si calcolano le approssimazioni dell errore e dell integrale. TOLLERANZA RELATIVA LOCALE

STRATEGIA 2 ADATTATIVA LOCALE Si esamina l intervallo [c,d] più a sinistra disponibile Al generico passo Se E [c,d] TOL d c b a si aggiunge Q [c,d] al valore della variabile INTEG, si aggiunge E [c,d] al valore della variabile ERROR, si esamina l intervallo successivo [c,d ]. Altrimenti si divide [c,d] in due nuovi sottointervalli, in tali sottointervalli si calcolano le approssimazioni dell errore e dell integrale. TOLLERANZA RELATIVA LOCALE STRATEGIA 2 ADATTATIVA LOCALE In generale l algoritmo termina quando La stima del modulo dell errore nell intervallo più a destra [d,b], è non superiore alla TOLLERANZA RELATIVA LOCALE b d E [d,b] TOL b a OPPURE

STRATEGIA 2 ADATTATIVA LOCALE In generale l algoritmo termina quando Si è raggiunto un numero massimo di valutazioni per la funzione integranda MAXVAL, NUMVAL = MAXVAL NUMERO DI VALUTAZIONI EFFETTUATE STRATEGIA 2 ADATTATIVA LOCALE In generale l algoritmo termina quando Si è raggiunto un numero massimo di valutazioni per la funzione integranda MAXVAL In questo caso si avvisa l utente di tale circostanza con un messaggio di errore: IFLAG

STRATEGIA 2 ADATTATIVA LOCALE In ogni caso, quando termina, l algoritmo fornisce come stima di I[f], l ultima approssimazione data da I[f] INTEG STRATEGIA ADATTATIVA GLOBALE Si suddivide l intervallo dove è massima la stima del modulo dell errore. Abbiamo una riduzione uniforme dell errore su tutto l intervallo [a,b]. Ad ogni passo è necessario gestire tutti i sottointervalli.

STRATEGIA ADATTATIVA GLOBALE Si suddivide l intervallo dove è massima la stima del modulo dell errore. Tutte le informazioni degli intervalli da esaminare sono conservate in una LISTA STRATEGIA ADATTATIVA GLOBALE Si suddivide l intervallo dove è massima la stima del modulo dell errore. LISTA: La lista è ordinata secondo le stime DECRESCENTI dei moduli degli errori QUINDI Il prossimo intervallo da suddividere è nella TESTA DELLA LISTA

STRATEGIA ADATTATIVA GLOBALE Si suddivide l intervallo dove è massima la stima del modulo dell errore. LISTA: Testa della lista Nodo della lista STRATEGIA ADATTATIVA GLOBALE Si suddivide l intervallo dove è massima la stima del modulo dell errore. LISTA: Ogni nodo della lista contiene le informazioni su: Intervallo, stima dell integrale, stima dell errore, indirizzo del nodo successivo nella lista (LINK). NODO DELLA LISTA [p,q] Q [p,q] E [p,q] LINK NUOVO NODO

STRATEGIA ADATTATIVA GLOBALE Si suddivide l intervallo dove è massima la stima del modulo dell errore. ESEMPIO: riordinamento della lista L intervallo da esaminare è [ X 3,X 4 ] Testa della lista [a,x 1 ] [x 1,x 2 ] [x 2,x 3 ] [x 3,x 4 ] [x 4,b] STRATEGIA ADATTATIVA GLOBALE Testa della lista Si suddivide l intervallo dove è massima la stima del modulo dell errore. ESEMPIO: riordinamento della lista Il link da eliminare è [a,x 1 ] [x 1,x 2 ] [x 2,x 3 ] [x 3,x 4 ] [x 4,b]

STRATEGIA ADATTATIVA GLOBALE Testa della lista Si suddivide l intervallo dove è massima la stima del modulo dell errore. ESEMPIO: riordinamento della lista Il link da eliminare è [a,x 1 ] [x 1,x 2 ] [x 2,x 3 ] [x 3,x 4 ] [x 4,b] STRATEGIA ADATTATIVA LOCALE Si suddivide l intervallo più a sinistra Procedendo verso destra si scartano i sottointervalli in cui è stata raggiunta la tolleranza relativa locale In caso di arresto dell algoritmo per IFLAG non è fornita un approssimazione di I[f] su tutto [a,b].

STRATEGIA ADATTATIVA LOCALE Si suddivide l intervallo più a sinistra Tutte le informazioni degli intervalli da esaminare sono conservate in una PILA STRATEGIA ADATTATIVA LOCALE Si suddivide l intervallo più a sinistra PILA: Il prossimo intervallo da esaminare è nel TOP DELLA PILA QUINDI L algoritmo si arresta quando la PILA E VUOTA

STRATEGIA ADATTATIVA LOCALE Si suddivide l intervallo più a sinistra PILA: Errore accettabile Prossimo intervallo da esaminare TOP della PILA a X 1 X 2 X 3 X 4 b Altri intervalli da esaminare [a,x 1 ] [x 1,x 2 ] [x 2,x 3 ] [x 3,x 4 ] [x 4,b] STRATEGIA ADATTATIVA LOCALE Si suddivide l intervallo più a sinistra PILA: Intervallo, Ogni nodo della pila contiene le informazioni su: stima dell integrale, stima del modulo dell errore. NODO DELLA PILA [p,q] Q [p,q] E [p,q]

ENTRAMBE LE STRATEGIE HANNO BISOGNO DI UNA PROCEDURA QE(c,d,f,Q,E) [c,d] f QE Q [c,d] [f] E [c,d] [f] La quale ricevuti in input un intervallo [c,d] contenuto in [a,b], ed una funzione integrabile f, fornisce in output le stime di I[f] ed E[f] sull intervallo [c,d] ottenute mediante una COPPIA DI FORMULE INNESTATE. T 1 [f] = ESEMPIO di procedura QE con la Formula Trapezoidale Composita. h [f(c) 2 h + f(d)] c + d T 2 [f] = f(c) + f + f(d) 4 2 E 2 [f] T 1 [f]-t 2 [f] /3 h=d-c

ESEMPIO di procedura QE con la Formula Trapezoidale Composita. procedure QE(input: c,d,f; output: Q,E) h:=(d-c) fc:=f(c) fd:=f(d) fm:=f((c+d)/2) t1:=h*(fc+fd)/2 t2:=h*(fc+fm+fd)/4 E:= t1-t2 /3 Q:=t2 return Un algoritmo ADATTATIVO LOCALE basato sulla Formula Trapezoidale Composita begin ADAPT read A,B,TOL,NMAX IFAIL:=0 INTEG:=0 ERROR:=0 QE(A,B,f,Q,E) NVAL:=3 A,B,Q,E pila N:=1 while (N 0 AND NVAL<NMAX) do C,D,Q,E pila N:=N-1 if (E<TOL*(D-C)/(B-A)) then INTEG:=INTEG+Q ERROR:= ERROR+E

CONTINUA: Un algoritmo ADATTATIVO LOCALE Basato sulla Formula Trapezoidale Composita else M:=(C+D)/2 QE(C,M,F,QS,ES) NVAL:=NVAL+3 QE(M,D,F,QD,ED) NVAL:=NVAL+3 M,D,QD,ED pila N:=N+1 C,M,,QS,ES pila N:=N+1 endif endwhile CONTINUA: Un algoritmo ADATTATIVO LOCALE Basato sulla Formula Trapezoidale Composita end ADAPT if (NVAL>=NMAX) then IFAIL:=1 endif print INTEG,ERROR,IFAIL

MATLAB E LA QUADRATURA Matlab rende disponibile la funzione QUAD per il calcolo di integrali definiti. QUAD è basata su un algoritmo adattativo locale e sulla formula di SIMPSON COMPOSITA. MATLAB E LA QUADRATURA QUAD (fun,a,b,tol,graf) fun a,b tol graf funzione integranda. Deve essere presente in un FILE di nome Fun.m estremi di integrazione. tolleranza (opzionale). Se non specificata TOL=10-3. intero (opzionale).se GRAF=1 viene mostrato il grafico della funzione con i nodi utilizzati.

MATLAB ESEMPIO: I[f] 2π = E LA QUADRATURA sin( x) dx = 0 Creazione del file fun.m contenente la funzione integranda 4 function y = fun(x) y = abs(sin(x)) return end ESEMPIO: I[f] MATLAB 2π = 0 E LA QUADRATURA sin( x) QUINDI dx >> a=0; >> b=2*3.1415926; >> res=quad( fun,a,b); res= 4.00000207024612 = 4

Domanda: Sia assegnata una tolleranza TOL, da voler rispettare sull intero intervallo [a,b]. Che tolleranza dobbiamo rispettare sul generico sottointervallo [c,d]? Risposta: Affinché una tolleranza TOL, sia rispettata sull intero intervallo [a,b], è sufficiente che su ogni sottointervallo [c,d] sia rispettata una tolleranza TOL, proporzionale all ampiezza del sottointervallo stesso, ovvero una TOLLERANZA RELATIVA LOCALE

Esempio: Scegliamo il sottointervallo [a,m], dove m è il punto medio di [a,b]. m-a L ampiezza di [a,m] è META dell ampiezza di [a,b], b-a a m b m-a = (b-a) / 2 Esempio: Scegliamo il sottointervallo [a,m], dove m è il punto medio di [a,b]. L ampiezza di [a,m] è META dell ampiezza di [a,b], la TOLLERANZA RELATIVA LOCALE su [a,m] sarà la META della tolleranza su [a,b] TOL = TOL / 2

In generale Scegliamo un sottointervallo [c,d], dell intervallo [a,b]. Il rapporto tra le ampiezze di [c,d] e [a,b] è d c b a d-c b-a a c d b d-c = (b-a) d c b a In generale Scegliamo un sottointervallo [c,d], dell intervallo [a,b]. Il rapporto tra le ampiezze di [c,d] e [a,b] è d c b a la TOLLERANZA RELATIVA LOCALE su [c,d] sarà TOL = TOL d c b a