MATLAB: Integrazione

Documenti analoghi
Analisi Numerica. Francesca Mazzia. a.a. 2006/2007. Integrazione. Dipartimento di Matematica. Università di Bari

Integrazione numerica. Gabriella Puppo

Laboratorio di Calcolo Numerico Laboratorio 7: Quadratura numerica

Analisi Numerica Corso di Laurea in Ingegneria Elettrotecnica

MATLAB:Metodi Numerici per zeri di funzioni.

Integrazione numerica

Integrazione numerica

Integrazione numerica

Integrazione numerica

Integrazione numerica

Quadratura numerica. Alvise Sommariva. Università degli Studi di Padova Dipartimento di Matematica. 25 maggio 2015

Calcolo Numerico - Prova Matlab 19 luglio 2013

Corso di Analisi Numerica

Lezione 4 Quadratura Numerica. Fernando Palombo

INTEGRAZIONE NUMERICA

Integrazione numerica

Calcolo Numerico A.A Laboratorio 8 Integrazione numerica

Complementi di Matematica e Calcolo Numerico A.A Laboratorio 11 - Metodi numerici per equazioni differenziali ordinarie

f(x) dx = F (b) F (a) Formula di quadratura o di integrazione numerica c i f(x i ) + R n (f)

Regola dei trapezi. a, b punti fissi a priori. non fissi a priori (indeterminati) errore di integrazione. a, b

CALCOLO NUMERICO. Francesca Mazzia. Integrazione. Dipartimento Interuniversitario di Matematica. Università di Bari

Soluzione di Equazioni non lineari

Laboratorio 3. Integrazione numerica

Complementi di Matematica e Calcolo Numerico A.A Laboratorio 11 - Metodi numerici per equazioni differenziali ordinarie

Progetti d esame per il corso di ANALISI NUMERICA CDL Matematica Magistrale A.A. 2012/2013

Analisi Numerica: quadratura

Esame di Calcolo Numerico per Informatica A.A. 2010/11 Proff. S. De Marchi e M. R. Russo 19 settembre 2011

Complementi di Matematica e Calcolo Numerico A.A Laboratorio 12 Metodi numerici per equazioni differenziali ordinarie

f(x) = x e x, prendere come intervallo iniziale [0, 1] e fissare come precisione ε = 10 8.

Complementi di Matematica e Calcolo Numerico A.A Laboratorio 11 Metodi numerici per equazioni differenziali ordinarie

Complementi di Matematica e Calcolo Numerico A.A Laboratorio 9 Metodi numerici per equazioni differenziali ordinarie

1. Sia data la funzione f(x) = x + log x nel proprio insieme di definizione D.

Algoritmi numerici. Zeri di una funzione. Integrale di una funzione. Soluzione di una equazione differenziale

Interpolazione e integrazione numerica

Complementi di Matematica e Calcolo Numerico A.A Laboratorio 10

ISTRUZIONI PER LA CONSEGNA DEI FILE MATLAB

Complementi di Matematica e Calcolo Numerico A.A Laboratorio 7

Laboratorio di Calcolo Numerico Laboratorio 4: Functions. Soluzione di Equazioni non lineari

Complementi di Matematica e Calcolo Numerico A.A Laboratorio 4-23/3/2015

Soluzione del laboratorio 13 Formule di quadratura

Laboratorio di Calcolo Numerico - Corso di Laurea in Matematica Appello d esame del 12/07/2012

Programmare con MATLAB c Parte 5 Cicli: for e while

EQUAZIONI DIFFERENZIALI

Complementi di Matematica e Calcolo Numerico A.A Laboratorio 9 - Equazioni non lineari

ESERCITAZIONE Implementare i metodi di Eulero, di Heun e di Runge-Kutta del quarto ordine per integrare il problema di Cauchy:

Integrazione numerica

Lezione 13 (7 dicembre) Polinomio di Taylor Integrale definito: significato geometrico Primitiva di una funzione

Metodi Numerici con elementi di Programmazione (A.A )

Corso di laurea in Matematica Laboratorio di Programmazione e Calcolo Prof. A. Murli. Esercizi di riepilogo - LABORATORIO

Complementi di Matematica A.A Laboratorio 10

Complementi di Matematica e Calcolo Numerico A.A Laboratorio 3-24/3/2014

Esame del 15 Gennaio 2004 Vecchio Ordinamento. Per lo svolgimento di questa prova è concesso un tempo massimo di tre ore.

Corso di Analisi Numerica - AN410. Parte 5: formule di quadratura. Roberto Ferretti

Esercizio 1. Esercizio 2

CALCOLO NUMERICO Laurea di base in Ingegneria Elettronica e delle Comunicazioni

Prova di recupero sui capitoli 4 6

Derivazione numerica. Introduzione al calcolo numerico. Derivazione numerica (II) Derivazione numerica (III)

Equazioni non lineari. Gabriella Puppo

Calcolo Numerico - A.A Laboratorio 6

nb4-integrazione_numerica

Esame di Calcolo Numerico per Informatica Prof. S. De Marchi Padova, 11 dicembre x k 1 x k 2

Complementi di Matematica e Calcolo Numerico A.A Laboratorio 3

CALCOLO NUMERICO Laurea di base in Ingegneria Elettronica e delle Telecomunicazioni

Esame di Calcolo Numerico per Informatica A.A. 2010/11 Proff. S. De Marchi e M. R. Russo 20 giugno 2011

n (x i x j ), det V = i>j

1 Integrazione numerica

Esame di Calcolo Numerico per Informatica A.A. 2010/11: testo soluzioni Proff. S. De Marchi e M. R. Russo 12 luglio 2011

Raccolta di Esercizi d esame ( di Calcolo Numerico) Prof. Laura Pezza. Equazioni non lineari

Alcuni esercizi in preparazione all appello scritto di Calcolo Numerico

Programma del corso di: Calcolo Numerico Corso di laurea in Matematica a.a Prof. B.Paternoster

Esempi. nel testo di Barone et al.:

Esame del 24 Giugno Per lo svolgimento di questa prova è concesso un tempo massimo di tre ore. (4x 1) log(x x 2 ) dx

( ) ( ) ( ) ( ) ( ) ( ) = + + = = 11,7%

g(x) = arctan(1.5x 0.1)

Interpolazione e Approssimazione

Interpolazione e approssimazione di dati

Complementi di Matematica e Calcolo Numerico A.A Laboratorio 11 - Metodi numerici per equazioni differenziali ordinarie

Interpolazione e approssimazione di dati

Università di Bari - Dipartimento di Economia - Prova scritta di Matematica per l Economia L-Z- 19 Dicembre Traccia A

Corso di laurea in Informatica Calcolo Numerico Prof.ssa L. D Amore 12 Dicembre 2008 Esercizi di riepilogo tipo prova d esame

Francesca Mazzia Dipartimento Interuniversitario di Matematica Università di Bari. MATLAB: analisi degli errori

Analisi Matematica (A L) Polinomi e serie di Taylor

Complementi di Matematica e Calcolo Numerico A.A Laboratorio 6 Metodi iterativi per sistemi lineari

Laboratorio di Calcolo Numerico Laboratorio 3: Algoritmi stabili e instabili, Bisezione

Equazioni e sistemi non lineari

Laboratorio di Calcolo Numerico Laboratorio 5: Scrittura su FILE. Soluzione di Equazioni non lineari

Interpolazione e approssimazione di funzioni

Concludiamo questa Appendice, riportando alcuni programmi scritti in linguaggio

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

Esercizi Elaborato (versione )

Foglio Esercizi A (interpolazione, approssimazione, integrazione)

LEZIONE 5. Esercizio 5.1. Calcolare il limite per x ± delle seguenti funzioni. lim. lim. lim. lim. lim. e x ) x. per x. lim

Transcript:

1 Francesca Mazzia Dipartimento Interuniversitario di Matematica Università di Bari MATLAB: Integrazione Il Matlab contiene le funzioni predefinite quad, quadl e quad8 che calcolano l integrale definito di una funzione f all interno di un fissato intervallo. Tali funzioni accettano come dati in input: funz stringa contenente il nome del file in cui inserire la funzione integranda a estremo sinistro dell intervallo b estremo destro dell intervallo tol tolleranza dell errore desiderata. Il parametro di tolleranza tol ha come valore di default 10 3 e quindi può essere omesso. Hanno come dato di output: q integrale della funzione f. Nel caso la funzione non riescano a calcolare il valore dell integrale con la precisione desiderata, verrà posto q =. Vengono richiamate mediante: q = quad( funz, a, b, tol) q = quadl( funz, a, b, tol) q = quad8( funz, a, b, tol) ESEMPIO: Risolvere il problema dell approssimazione di b a (e x sin(x) + 2x + 6)dx Per risolvere tale problema possiamo costruire la function fint1.m e quindi utilizzare le function predefinite quad e quadl e quad8:

2 >> type fint1.m function y=fint1(x) y = exp(sqrt(x)).*sin(x)+2*x+6; >> quad( fint1,0,12,1e-5,1) 1.8835e+002 >> quadl( fint1,0,12,1e-5) 1.8835e+02 >> quad8( fint1,0,12,1e-5) 1.8835e+002 Possiamo fare un altro esempio: quad( sin,0,pi,1e-3) 2.0000 >> quad8( sin,0,pi,1e-3) 2.0000e+00 >> quadl( sin,0,pi,1e-3)

3 2.0000e+00 Ora vediamo come implementare la formula dei trapezi: FORMULA DEI TRAPEZI PER IL CALCOLO APPROSSIMATO DI INTEGRALI function trapezi(funz,a,b) DATI DI INPUT: funz = stringa contenente il nome della funzione integranda (definita in un omonimo file.m) a = estremo inferiore dell intervallo di integrazione b = estremo superiore dell intervallo di integrazione DATI DI OUTPUT: approssimazione dell integrale function trapezi(funz,a,b) h = (b-a); fa = feval(funz,a); fb = feval(funz,b); (fa + fb) * h/2; ESEMPI: Valutiamo gli integrali approssimati delle seguenti funzioni: fint1(x) = exp(sqrt(x)).*sin(x) + 2*x + 6 nell intervallo [0,12] fint2(x) = sqrt(1-x.*x) nell intervallo [-1,1] sin(x) nell intervallo [0,pi] e confrontiamoli con i valori esatti di tali integrali, che sono rispettivamente 188.35, pi/2 e 2.

4 >> type fint1.m function y=fint1(x) y = exp(sqrt(x)).*sin(x)+2*x+6; >> I1 = trapezi( fint1,0,12) I1 = 1.1315e+002 >> type fint2.m function y=fint2(x) y = sqrt(1-x.*x) ; >> I2 = trapezi( fint2,-1,1) I2 = 0 >> I3 = trapezi( sin,0,pi) I3 = 1.9237e-16 Implementiamo la formula di Simpson: FORMULA DI SIMPSON PER IL CALCOLO APPROSSIMATO DI INTEGRALI function simpson(funz,a,b)

DATI DI INPUT: funz = stringa contenente il nome della funzione integranda (definita in un omonimo file.m) a = estremo inferiore dell intervallo di integrazione b = estremo superiore dell intervallo di integrazione DATI DI OUTPUT: approssimazione dell integrale function simpson(funz,a,b) h = (b-a)/2; fa = feval(funz,a); fb = feval(funz,b); fc = feval(funz,(a+b)/2); (fa + fb + 4*fc) * h/3; 5 ESEMPI: >> I1 = simpson( fint1,0,12) I1 = 1.5582e+02 >> I2 = simpson( fint2,-1,1) I2 = 1.3333e+00 >> I3 = simpson( sin,0,pi)

6 I3 = 2.0944e+00 Formule composte. Le formule precedenti usano un unico polinomio interpolatore su tutto l intervallo [a, b]. Ciò presenta talvolta degli inconvenienti dovuti essenzialmente al fatto che per n grande il polinomio può presentare delle oscillazioni. Inoltre la formula diventa costosa. Le formule composte sono ottenute dividendo l intervallo [a, b] in un certo numero N di sottointervalli uguali, ed applicando in ognuno di questi una formula di quadratura di grado basso. Fissato h = b a N, e x i = a + ih, per i = 0, 1,..., N, si ha: b a f(x)dx = N 1 i=0 xi+1 x i f(x)dx, se nel sottointervallo [x i, x i+1 ] si usa la formula dei trapezi, si ha: = N 1 i=0 = b a 2N b a f(x)dx = x i+1 x i (f(x i ) + f(x i+1 )) + E(f) = 2 ( ) f(a) + 2 N 1 i=1 f(x i ) + f(b) Nel caso in cui f (x) sia continua in [a, b], si ottiene: + E(f). (b a)3 E(f) = 12N f (ξ), ξ [a, b]. 2 Vediamo come costruire la function Matlab che implementa la formula dei trapezi composta. Chiameremo tale funzione ctrap.m: FORMULA DEI TRAPEZI COMPOSTA PER IL CALCOLO APPROSSIMATO DI INTEGRALI

function ctrap(funz,a,b,n) DATI DI INPUT: funz = stringa contenente il nome della funzione integranda (definita in un omonimo file.m) a = estremo inferiore dell intervallo di integrazione b = estremo superiore dell intervallo di integrazione n = numero di sottointervalli a cui applicare la formula dei trapezi DATI DI OUTPUT: approssimazione dell integrale function ctrap(funz,a,b,n) h = (b-a)/n; x = a + [0:n]*h; (feval(funz,x(1)) + 2*sum(feval(funz,x(2:n)))... + feval(funz,x(n+1))) * h/2; 7 ESEMPIO: >> I1c = ctrap( fint1,0,12,10) I1c = 191.1843 >> I2c = ctrap( fint2,-1,1,10) I2c = 1.5185 >> I3c = ctrap( sin,0,pi,10)

8 I3c = 1.9835 Aumentando n, il numero di suddivisioni dell intervallo [a, b], si dovrebbe osservare un miglioramento dell approssimazione. Verifichiamolo per la funzione fint1: >> ctrap( fint1,0,12,10) ans = 191.1843 >> ctrap( fint1,0,12,20) ans = 189.0541 >> ctrap( fint1,0,12,30) ans = 188.6645 >> ctrap( fint1,0,12,40) ans = 188.5284