


























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
CALCOLO NUMERICO INTEGRAZIONE DIFFERENZIALI
Tipologia: Dispense
1 / 34
Questa pagina non è visibile nell’anteprima
Non perderti parti importanti!



























0
2
n
con X
i^
i-
per i=1,2,...,n
h
b a
Si approssima ogni areola i-sima sottesa dalla funzione f con
l’area
del rettangolo di base h ed altezza f(X
)i : in ogni sub-intervallo,
funzioni approssimanti sono delle costanti
I^
≈
f^
( X
i^ ) ⋅ h
=
i^ =
n ∑
h
⋅
f^
(
X
i^
)
i^ =
n ∑
INTEGRAZIONE CON METODO DEI RETTANGOLI^ INTEGRAZIONE CON METODO DEI RETTANGOLI
float func(float y) {
return yy-sin(y); } float rettangoli (float a, float b, int n) {/func funzione integranda; a,b estremi dell'intervallo,**
n numero dei punti /float x,sum,h; int j;h=(b-a)/n;x=a;for (sum=0.0,j=0;j<n;j++,x+=h) sum = sum+func(x);sum=hsum;return sum; }
float
func(y)
return
yy+7sin(y);**
float
trapezi
(float
a,
float
b,
int
n)
func
funzione
integranda;
a,b
estremi
intervallo,
n
numero
punti
float
x,sum,
s
,h;
int
j;
h=(b-a)/n;s=0.5(func(a)+func(b));x=a+h;for*
(sum=0.0,j=1;j<n;j++,x+=h)
sum
func(x);
s=h(s+sum);return*
s;
Per ogni i pari: (i=0,2,4,.....,n-2) si consideri la coppia di intervalli:
, Xi
i+
i+
i+
i+
i+
i+
i+
cioè F
(X) = ai
Xi
2
X +ci
i
i^
I^
=
h 3
⋅
K
i^
⋅^
f^
( X
) i
i = n^0 ∑
dove K
i^
=
1
se
i^
=
0,
i^
=
n
2
se
i^
pari
4
se
i^
dispari
⎧ ⎪ ⎨ ⎪ ⎩
float func(y) {
return y+yy; } float simpson (float a, float b, int n) {/ func funzione integranda; a,b estremi intervallo, n**
*numero punti /float sum2, sum4 ,h, s; int i;h=(b-a)/n;sum2=0;sum4=func(a+h);for (i=2;i<n-1;i=i+2) {
sum2=sum2+func(a+ih);sum4=sum4+func(a+(i+1)h); } s=(func(a)+func(b)+4sum4+2sum2)h/3;return s;*
}
(p)
con x appartenente ad [a,b] e dove con y
(k)
si indica
(p)
y
=
dy
dx
y(X
) = c 0
0
y'(X
) = c 0
1
........y
(p-1)
) = c 0
p-
0
p-
Il problema di determinare y(X) in modo da soddisfare (2) econdizioni iniziali viene detto
problema ai valori iniziali
Se i punti in cui vengono dati i valori sono distinti, allora si parla di problema ai valori al contorno
0, X
1
2,..X
n)
0, X
1,...,X
n):
i
1, .. Y
n
0)=Y
0
si parte dalla coppia di valori noti (X
) per calcolare il valore 0
approssimato di y(x) nel punto X
1
immediatamente vicino a X
0
una volta noto X
, con lo stesso procedimento si ricava X 1
, e 2
così via fino a X
n
i^
i-
i^
i-k
Vedremo solo
metodi a un passo
in quanto più efficienti
Ci baseremo
sull'uso diretto o indiretto dello sviluppo in serie
di Taylor
della funzione y(X)
Δ
partendo dal punto noto (X
) si ricavano X 0
1
applicando le
formule:
1
0
0
1
0
i-
i-
i-
i-
AC = AB + BC = y
φ Δ
tg
φ
= (dY/dX)
per
= f(Xi^
,Yi
)i
i+
i^
,Yi
)i
i^
i+
φ
Δ y