





Studia grazie alle numerose risorse presenti su Docsity
Guadagna punti aiutando altri studenti oppure acquistali con un piano Premium
Prepara i tuoi esami
Studia grazie alle numerose risorse presenti su Docsity
Prepara i tuoi esami con i documenti condivisi da studenti come te su Docsity
Trova i documenti specifici per gli esami della tua università
Preparati con lezioni e prove svolte basate sui programmi universitari!
Rispondi a reali domande d’esame e scopri la tua preparazione
Riassumi i tuoi documenti, fagli domande, convertili in quiz e mappe concettuali
Studia con prove svolte, tesine e consigli utili
Togliti ogni dubbio leggendo le risposte alle domande fatte da altri studenti come te
Esplora i documenti più scaricati per gli argomenti di studio più popolari
Ottieni i punti per scaricare
Guadagna punti aiutando altri studenti oppure acquistali con un piano Premium
dispense matlab
Tipologia: Dispense
1 / 9
Questa pagina non è visibile nell’anteprima
Non perderti parti importanti!






Lucia Gastaldi
Dipartimento di Matematica
http://dm.ing.unibs.it/gastaldi/
Lezione 7 (29/31 ottobre 2003)
Problema
: data la funzione
f
a, b
continua, si calcoli il
valore dell’integrale
f (^) ) =
b
a
f (^) ( x
) (^) dx.
Siccome non sempre `
e disponibile una primitiva di
f
che ci permetta di
valutare esattamente l’integrale, ne cerchiamo un valore approssimato.
Idea
: sostituire l’integrale di
f
con quello di una sua approssima-
zione
f (^).
Calcoliamo quindi:
f (^) ) =
b
a
f (^) ( x ) (^) dx.
Il modo pi`
u semplice per costruire
f
`e quello di usare i polinomi
interpolatori.
Interpoliamo
f
con la funzione costante che passa per il punto
a
(^) b
, f
a
(^) b
Quindi
f (^) ( x ) =
f (^) ( a
b
2
per ogni
x
a, b
e il valore approssimato
dell’integrale `
e
0 ( f (^) ) =
b
a
f
(
a (^) +
b
dx
b
−
a ) f
(
a
b
2
Interpoliamo
f
con il polinomio lineare
1
che passa per i punti
a, f
a ))
e
( b, f
b ))
.
L’integrale si calcola facilmente usando la formula dell’area del
trapezio:
1 ( f (^) ) =
b
a
1 ( x ) (^) dx
b
−
a
f (^) ( a ) +
f (^) ( b ))
.
4
Usiamo ora il polinomio
2
che interpola la funzione nei nodi
a, f
a ))
,
( b, f
b ))
e
( c, f
c ))
essendo
c
= (
a
b ) / 2 .
Introducendo
i polinomi di Lagrange
0 , L 1 e L 2
associati rispettivamente ai 3
nodi
x 0 = a , x 1 = c e x 2 = b
, si ottiene la seguente espressione per
l’integrale approssimato:
2 ( f (^) ) =
b
a
2 ( x ) (^) dx
f (^) ( a ) ∫
b
a
0 ( x ) (^) dx
f (^) ( c ) ∫
b
a
1 ( x
) (^) dx
f (^) ( b ) ∫
b
a
2 ( x ) dx.
Dobbiamo calcolare gli integrali dei polinomi di Lagrange.
6
Le formule del punto medio, dei trapezi e di Simpson sono casi
particolari delle
formule di Newton–Cotes
basate sull’approssima-
gradozione della funzione da integrare mediante polinomi interpolatori di
n
in nodi
equispaziati
nell’intervallo
a, b
Le
formule di Gauss
raggiungono il
massimo grado di precisione
una volta fissato il numero dei nodi.
12
Suddividiamo l’intervallo
a, b
in
sottointervalli
k
= [
x k − 1 , x
k ]
k
= 1
con
x k
=
kH
essendo
b
−
a ) /N
Applicando la propriet`
a di additivit`
a dell’integrale si ottiene:
f (^) ) =
N
I k f (^) ( x ) (^) dx.
Su ogni intervallo
k
applichiamo la formula di quadratura scelta.
13
Formula del punto medio
I 0 N (^) ( f (^) ) =
H
N
f
(
x k − 1 (^) +
x k
2
)
.
Formula dei trapezi
I 1 N (^) ( f (^) ) =
H
(
f (^) ( a )
2
N (^) − 1
f (^) ( x k ) +
f (^) ( b )
2
)
.
Formula di Simpson
I 2 N (^) ( f (^) ) =
6 H
(
f (^) ( a ) +
f (^) ( b ) + 4
N
f
(
x k − 1
(^) x
k
2
)
N (^) − 1
f (^) ( x k ) )
.
14
con le seguenti stime dell’errore:
f (^) ) (^) −
0 N
(^) ( f (^) ) =
b (^) −
a
2 f (^) ′′ ( ξ 0 )
f (^) ) (^) −
1 N
(^) ( f (^) ) =
b
−
(^) a
2 f (^) ′′ ( ξ 1 )
f (^) ) (^) −
2 N
(^) ( f (^) ) =
b
−
(^) a
4
(^) f
(^) (4)
ξ 2 )
15
Scrivere un programma di tipo function che calcoli il valore appros-
La riga di dichiarazione della function deve essere del seguente tipo:simato dell’integrale di una funzione mediante le formule composite.
function
nome
function
(a,b,f,N)
a,b dove i dati in input rappresentano:
gli estremi dell’intervallo;
f
il nome della funzione da integrare;
il numero degli inetervalli di suddivisione. Scrivere un programma di tipo script per calcolare i seguenti
integrali al variare di
∫
2
− 1 x 4 dx^
=
5 33
,
∫
π/
2
π/
2
cos
(^) x dx
= 2
,
∫
1
0
e x dx^
=
e (^) −
(^1) .
16
endI=hsum([ff(1) ff(N+1) 2ff(2:N) 4ff(N+2:2N+1)])/6;x=[xn xn(1:N)+h/2]; ff=eval(f);elseI=hsum([ff(1)/2 ff(2:N) ff(N+1)/2]);x=xn; ff=eval(f);elseif metodo==2I=hsum(ff);x=xn(1:N)+h/2; ff=eval(f);if metodo==1xn=linspace(a,b,N+1);h=(b-a)/N;% I valore dell’integrale;% metodo=1 per punto medio; =2 per trapezi; =3 per Simpson% f nome della funzione da integrare.% N numero delle suddivisioni;% a,b estremi dell’intervallo; function[I]=intcomposita(a,b,f,N,metodo)
for metodo=1:3N=[5 10 50 100 200 500];enda=0; b=1; f=’exp(x)’; Iesatto=exp(1)-1;elsea=-pi/2; b=-a; f=’cos(x)’ Iesatto=2;elseif caso==2a=-1; b=2; f=’x.^4’; Iesatto=33/5; if caso==
for k=1:length(N)
I(metodo,k)=intcomposita(a,b,f,N(k),metodo);
end
loglog(N,abs(Iesatto-I))figureend
18
Funzione
Significato
quad
Quadratura adattiva con formula di Simpson.
quadl
Gauss-Lobatto (Matlab 6).Quadratura adattiva con formula di
quad
Newton–Cotes a 9 punti (Matlab 5).Quadratura adattiva con formula di
dblquad
doppi su rettangoli.Formula di quadratura per integrali
a=
tol=1.e-
err Isimp=4.79913093 Iesatto=4.
simp=6.49e-
err Iadat=4.
adat=2.36e-
a=
tol=1.e-
err Isimp=6.122401012 Iesatto=6.
simp=7.02e-
err Iadat=6.
adat=3.22e-
24
Obiettivo
distribuire
l’ampiezza
dei
sottointervalli
in
modo
non uniforme,
cos`
ı da garantire la stessa accuratezza su ciascun
sottointervallo.
Ingredienti
a.
stimatore
dell’errore di quadratura;
b.
strategia
per la scelta dell’ampiezza dei sottointervalli.
α, β
β
α
f (^) ( x ) dx
S ( f (^) ) =
β
−
α
) 5
f (^) (4)
ξ )
Errore per la formula di Simpson
composita
sull’intervallo
α, β
suddivisiso in due parti:
β
α
f (^) ( x ) dx
SC
( f (^) ) =
β
−
α
) 5
f (^) (4)
η )
Sottraggo le due equazioni dell’errore:
SC
( f (^) ) (^) −
S ( f (^) ) =
β
α
) 5
f (^) (4)
ξ ) +
β
−
(^) α
) 5
f (^) (4)
η )
26
Se
f (^) (4)
ξ )
≈
f (^) (4)
η )
allora si ricava:
f (^) (4)
ξ ) =
β
−
(^) α
) 5 ∆
I
che d`
a
β
α
f (^) ( x ) dx
SC
( f (^) )
≈
L’ultima
equazione
fornisce
uno
stimatore
dell’errore
mediante
quantit`
a calcolabili
Dividiamo l’intervallo di integrazione in tre parti:
α, β
intervallo di integrazione
attivo
intervallo
gi`
a esaminato
(il valore dell’integrale `
e
< tol
intervallo
da esaminare
All’inizio:
a, b
a, b
S
indica l’approssimazione dell’integrale calcolata sull’intervallo
A
indica l’approssimazione dell’integrale calcolata sull’intervallo
28
tol
s` ı
SC
( f (^) )
formula composita
a, b
no
α, β
′ ]
dove
β
′ = (
α
β ) / 2
β
′ , β
torna alla stima dell’errore
Sia
x, y
) ∈ R 2 : a ≤ x ≤
b, α
x ) ≤ y ≤ β (
x ) }
un dominio
Per calcolare l’integrale doppio di una funzionenormale.
f (^) ( x, y
uso la formula
di riduzione:
D
f (^) ( x, y
(^) dx dy
b
a
β ( x )
α ( x )
f (^) ( x, y
(^) dy
dx.
Esercizio
Scrivere una function per il calcolo dell’integrale doppio
formule per integrali di linea.su una regione normale che usi le formule composite introdotte come
30
function
intdoppio
(a,b,Nx,Ny,alpha,beta,f)
Input
a, b
estremi dell’intervallo;
Input:
Nx, Ny
numero delle suddivisioni;
Input:
alpha, beta
nomi delle funzioni che descrivono il dominio;
Input:
f
nome della funzione da integrare.
Output
valore dell’integrale.