Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
vuoi
o PayPal
tutte le volte che vuoi
La tesina tratta brevemente l'analisi numerica. In particolare si descrivono alcuni metodi di determinazione delle radici di un'equazione e alcuni metodi per il calcolo numerico dell'integrale definito. Il lavoro si compone di una parte testuale, una presentazione multimediale e tre software a scopo dimostrativo da me realizzati per integrare le argomentazioni.
Materie trattate: Matematica, Informatica, Fisica (accenni), Filosofia (accenni)
Le tangenti di Newton
Deriviamo:
Il metodo delle tangenti (detto anche metodo di Newton - Raphson) consiste
nell'approssimare una curva alla sua retta tangente in un estremo dell'intervallo
contenente la soluzione (si effettua un'approssimazione lineare della funzione f(x)); per
poterlo usare bisogna che f(x), f'(x), f"(x) esistano e siano continue in [a,b] e che f'(x) e
f"(x) siano diverse da zero in [a,b].
Questo metodo potrebbe non convergere se si parte da un valore della "x" troppo
lontano dalla radice, invece, se si avvia bene, converge più rapidamente del metodo di
bisezione (la convergenza è quadratica). Come estremo di partenza si prende quello in cui
la funzione e la sua derivata seconda hanno lo stesso segno.
In pratica:
(Supponiamo che f(a)*f"(a) > 0)
a
1) Ricordando che f ' rappresenta
il coefficiente angolare della retta tg. a f(x) in a,
l'equazione della retta tg. a f(x) in a è:
a a
y= f ' x−a f
Se ora imponiamo y = 0 e risolviamo in x otteniamo
l'ascissa in cui la retta tg. si annulla, chiamiamola r 1
a
f
=a−
r 1 a
f '
2) A questo punto possiamo pensare di ripetere
il procedimento utilizzando r al posto di a:
1
r −r r
y= f ' x f
1 1 1
Imponiamo y = 0, risolviamo in x chiamandola r 2
f r
=r − 1
r r
2 1 f ' 1
3) Generalizzando le osservazioni fatte
otteniamo la seguente regola induttiva:
=a
r 0 r
f n−1
=r −
r r
n n−1 f ' n−1
In questo caso ( f(a)*f"(a) > 0) le varie "r successive" (r ) formano una successione
i
crescente limitata e approssimano la radice per difetto. Il limite per n->∞ è la radice
dell'equazione esaminata. Se fosse stata f(a)*f"(a) < 0 allora r sarebbe stata "b" e le
0
varie "r successive" (r ) avrebbero formato una successione decrescente limitata e
i
avrebbero approssimato la radice per eccesso. Il limite per n->∞ sarebbe comunque stato
uguale alla radice dell'equazione esaminata.
Generalmente, usando il metodo delle tangenti, ci si ferma quando |r r | ≤ ε, anche
n – n-1
se ciò non vuol necessariamente dire che la soluzioni disti effettivamente al più "ε"; più
avanti vedremo un modo migliore per calcolare l'approssimazione.
Le secanti
Congiungiamo i 2 estremi:
Il metodo delle secanti (detto anche metodo delle corde) consiste nell'approssimare una
curva alla sua retta secante passante per i punti individuati dai valori che essa assume agli
estremi di un intervallo contenente la soluzione; per poterlo usare bisogna che f(x), f"(x)
esistano e siano continue in [a,b] e che f'(x) e f"(x) siano diverse da zero in [a,b].
Questo metodo potrebbe non convergere se si parte da un valore di "x" troppo lontano
dalla radice. Rispetto al metodo delle tangenti qui la convergenza è più lenta. Come
estremo di partenza si prende quello in cui la funzione e la sua derivata seconda hanno
segno opposto.
In pratica:
(Supponiamo che f(a)*f"(a) > 0)
y
1) Ricordando che rappresenta
x
il coefficiente angolare di una retta,
l'equazione della retta contenente la corda ab è:
b− a
f f −b
y= x f b
b−a
Se ora imponiamo y = 0 e risolviamo in x otteniamo
l'ascissa in cui la corda interseca l'asse x, chiamiamola r 1
bb−a
f
=b−
r b − a
1 f f
2) A questo punto possiamo pensare di ripetere
il procedimento utilizzando r al posto di b:
1
−
f r f a
1 r
y= x−r f
−a 1 1
r 1
Imponiamo y = 0, risolviamo in x chiamandola r 2
r r −a
f 1 1
=r −
r r − a
2 1 f f
1
3) Generalizzando le osservazioni fatte
otteniamo la seguente regola induttiva:
=b
r 0
r −a
f r −1
n−1 n
=r −
r − a
n n−1 f r f
n−1
In questo caso ( f(a)*f"(a) > 0) le varie "r successive" (r ) formano una successione
i
decrescente limitata e approssimano la radice per eccesso. Il limite per n->∞ è la radice
dell'equazione esaminata. Se fosse stata f(a)*f"(a) < 0 allora r sarebbe stata "a" e le
0
varie "r successive" (r ) avrebbero formato una successione crescente limitata e avrebbero
i
approssimato la radice per difetto. Il limite per n->∞ sarebbe comunque stato uguale alla
radice dell'equazione esaminata.
Come per il metodo delle tangenti, ci si ferma, generalmente, quando |r r | ≤ ε,
n – n-1
anche se ciò non vuol necessariamente dire che la soluzioni disti effettivamente al più "ε";
più avanti vedremo un modo migliore per calcolare l'approssimazione.
Programma esemplificativo "Secanti"
A cosa serve:
Questo programma consente di disegnare il grafico di una qualsiasi funzione continua
(in un intervallo) e di calcolarne una soluzione approssimata col metodo delle Secanti.
Il programma consente inoltre di vedere graficamente come "lavora" tale metodo.
Calcolo della soluzione:
Le textBox "A" e "B" servono a definire l'intervallo nel quale cercare la soluzione (ci
deve essere solo una soluzione in [a,b]), la textBox "epsilon" serve per definire
l'approssimazione, l'algoritmo si fermerà quando 2 soluzioni trovate consecutivamente
distano al massimo epsilon (ATTENZIONE: questo non vuol necessariamente dire che la
soluzione esatta dista + o - epsilon da quella trovata). Il pulsante "Calcola" serve per
trovare la soluzione approssimata.
Interpretazione grafica:
Una volta calcolata la soluzione, facendo scorrere la scroll-bar "Visualizza passaggi", il
programma visualizzerà graficamente i passaggi svolti dall'algoritmo.
In questa fase il segmento blu indica la corda che si
sta usando per trovare la soluzione e il segmento
arancione indica il punto dove l'equazione della retta alla
quale la corda appartiene si annulla e quindi il nuovo
estremo per disegnare la prossima corda.
Al passaggio successivo sarà tracciata una nuova
corda che andrà dall'estremo "fisso" al nuovo estremo
appena individuato.
Uso:
1. Impostare i parametri che si desiderano tenendo presente che:
La funzione deve essere CONTINUA in ("X minima","X massima"), se così non
○ fosse il grafico potrebbe presentare imprecisioni
"X minima" deve essere > di "X massima" ecc.
○
2. Cliccare su "Disegna" per disegnare la funzione, servendosi eventualmente del
grafico impostare i parametri in modo che:
A sia < di B
○ [A,B] soddisfi il Teorema degli Zeri
○ L'intervallo [A,B] contenga solo una soluzione
○ La funzione si mantenga sempre concava verso l'alto o verso il basso in (A,B)
○ I radioButton "Concavità in (A,B)" rispecchino le caratteristiche di concavità
○ della curva
3. Cliccare su "Calcola" e attendere la finestra che mostra il risultato, a questo punto si
potrà visualizzare graficamente come lavora il metodo usato servendosi della scroll-
bar "Visualizza passaggi"
Tangenti + Secanti
2 è meglio di 1:
Come si è fatto già notare quando f(a)*f"(a) > 0 otteniamo, usando il metodo delle
tangenti, una soluzione approssimata per difetto mentre col metodo delle secanti il
risultato sarà una soluzione approssimata per eccesso (se f(a)*f"(a) < 0 la situazione è
inversa).
Il legame tra i due metodi è molto forte, basti pensare che se prendiamo la formula
ricorsiva del metodo delle tangenti, sostituiamo alla derivata il coefficiente angolare:
b− a
y f f
=
m= b−a
x
Poi invertiamo l'estremo da cui iniziamo (per esempio se r = a => r = b) e
0(tg.) 0(sec.)
conseguentemente cambiamo il valore di "a" o "b" nella formula ottenuta (se
r = a => b = r e se r = b => a = r ) quello che otteniamo è proprio il
0(tg.) (sec.) n-1 0(tg.) (sec.) n-1
metodo delle secanti.
Dato che i due procedimenti hanno le stesse ipotesi, nulla ci vieta di usarli
contemporaneamente, in questo modo potremmo valutare l'approssimazione dello Zero in
maniera migliore, infatti basterà chiedersi quando il risultato trovato col metodo delle
tangenti disti al più ε dal risultato trovato col metodo delle secanti. In simboli:
|r – r | ≤ ε (dove r è la radice trovata con le tangenti e r con le secanti).
t s t s
Integrazione numerica
Perché:
Perché c'è bisogno di un metodo di integrazione numerico se, grazie al T. Fondamentale
del calcolo integrale, sappiamo calcolare il valore degli integrali definiti?
La risposta è semplice: perché ci sono funzioni delle quali non è possibile trovare la
primitiva (ad esempio e
-x^2
).
Esistono anche altre situazioni nelle quali il T. Fondamentale del calcolo integrale non
c'è di aiuto, pensiamo ad esempio di non conoscere l'espressione analitica della funzione
"f" della quale vogliamo calcolare l'integrale, ma di conoscere solo i valori che essa assume
in un certo numero di punti rilevati sperimentalmente; oppure pensiamo di conoscere solo
il grafico di "f", magari tracciato mediante opportuni strumenti (sismografi ecc.).
In generale possiamo così formalizzare il processo di risoluzione di alcuni problemi del
mondo reale:
1. Modellizzazione (si associa al problema un modello matematico che ne
approssima l'evoluzione)
2. Analisi del modello per ricavare proprietà qualitative della soluzione (esistenza,
unicità, regolarità, ecc.)
3. Individuazione di metodi di risoluzione efficienti
4. Implementazione del metodo di risoluzione su calcolatore
L'analisi numerica interviene alle fasi 2-3-4, facendo da "assistente" per il ricercatore,
l'ingegnere o, nel caso che vedremo ora, il fisico.
Mettiamoci quindi nei panni di un fisico che vuole calcolare il lavoro compiuto, da "a" a
"b", da una forza "f(x)" costante in direzione ma variabile in modulo con la distanza.
Sappiamo che tale lavoro è esprimibile come:
b
∫
f x dx
a
Dove x rappresenta lo spostamento. Se, come abbiamo detto prima, di f(x) sappiamo
solo alcuni valori che abbiamo trovato con degli esperimenti e non l'espressione analitica,
per calcolare il lavoro dobbiamo necessariamente ricorrere ad un metodo numerico.
Come:
In generale si procede così:
1. Si suddivide [a,b] in un certo numero di parti uguali (per comodità ma non
necessariamente)
2. Si cerca in ciascuno degli intervalli una "funzione approssimante"
3. Integriamo tale funzione nell'intervallo
4. Sommiamo tutti i valori ottenuti
Il metodo dei rettangoli
Semplifichiamoci la vita:
In questo metodo si sceglie come funzione approssimante un polinomio di grado 0, che
in ogni intervallo ha per grafico una retta parallela all'asse delle ascisse.
In pratica:
Supponiamo di dover calcolare:
b
∫ dx
f x
a
1) Dividiamo [a,b] in n parti uguali di ampiezza:
b−a
h= n
otteniamo così dei sotto-intervalli identificati dai punti:
=a =ah =a2h =anh=b
x , x , x x
0 1 2 n
2) Consideriamo ora come funzione approssimante
[ ]
la funzione g tale che in ogni intervallo x , x
i i1
=
g x f x i
3) Il valore dell'integrale è dato dalla somma
delle aree (contando il segno) degli n rettangoli
,
di base h e di altezza f x formalizzando il tutto:
i
n−1 n
∑ ∑
=h⋅ =h⋅
I f x oppure I f x
i i
=1
i=0 i
Si nota subito che:
b
n
∑ ∫
=
lim h⋅ f x f x dx
i
∞
n i=1 a
Che è il valore esatto dell'integrale.
Nella spiegazione abbiamo scelto g(x) = f(x ) ma nulla ci vieta di scegliere g(x) = f(ξ )
i i
cioè scegliere come funzione approssimante una funzione che assume in ogni intervallo
[x ,x ] un valore a scelta fra quelli assunti nello stesso intervallo da f(x). In questo modo
i i+1
abbiamo risolto il problema del fisico che, al
posto di avere l'espressione analitica della sua
funzione "forza", ha solo i valori che essa
assume in determinati punti.
L'errore "e" che commettiamo con questo
metodo dipende ovviamente dall'n scelto ed è
stimabile come:
2
b−a ∣ ∣
⋅ =
e≤ f ' , con f ' max f ' x
M M
2n ≤x≤
x x
o n
Programma esemplificativo "Integrale"
A cosa serve:
Questo programma consente di disegnare il grafico di una qualsiasi funzione continua
(in un intervallo) e di calcolarne l'integrale definito, con una certa approssimazione,
attraverso il metodo dei rettangoli.
Il programma consente inoltre di vedere graficamente come "lavora" il metodo di
integrazione usato.
Calcolo dell'integrale definito:
Il programma calcola l'integrale definito sfruttando il metodo dei rettangoli inscritti e
circoscritti.
Le textBox "A" e "B" servono a definire l'intervallo nel quale calcolare l'integrale,