Metodi Numerici per la soluzione di equazioni e il calcolo di integrali

Università degli Studi di Palermo
Scuola Interuniversitaria Siciliana di Specializzazione per l’Insegnamento
Secondario
Laboratorio di Analisi Numerica
Prof. C. Arena
Metodi Numerici per la soluzione
di equazioni
e il calcolo di integrali definiti
Specializzandi:
Dott. Ferdinando
Aufiero
Dott. Onofrio
Indelicato
Dott. Rosario
Manto
Dott.ssa Angela
Schiavo
Anno accademico 2000/2001
1
Indice
Laboratorio di analisi numerica ............................. 3
Analisi della classe ................................................................................ 3
Osservazione sul rilievo educativo della disciplina insegnata .................. 3
Costruzione dell’unità didattica ............................................................. 5
UNITA’ DIDATTICA: “Risoluzioni numeriche d'equazioni” ....................... 5
UNITA’ DIDATTICA: “Calcolo numerico d’ integrali definiti” .................... 7
Verifiche e criteri di valutazioni: ............................................................ 7
Attività didattica ................................................................................... 9
Il metodo delle corde .......................................................................... 15
Metodi di punto fisso o delle approssimazioni successive...................... 18
Integrazione numerica ........................................................................ 22
Attività didattica ................................................................................. 22
METODO DEI RETTANGOLI .................................................................. 23
METODO DEI TRAPEZI......................................................................... 25
METODO DI CAVALIERI-SIMPSON........................................................ 28
Griglia di valutazione .......................................................................... 32
Appendice A........................................................................................ 33
Anno accademico 2000/2001
2
CORSO SISSIS – 2000-2001
Laboratorio di analisi numerica
Analisi della classe
La conoscenza del gruppo classe è presupposto
indispensabile per garantire il
buon esito del compito educativo-didattico e per poter qualificare la preparazione
degli alunni. Dalla partecipazione all’attività didattica dei discenti
verifiche riscontrate finalizzate alla valutazione del
e dalle
livello di preparazione
individuale di ciascuno dei discenti, si può constatare che la classe si presenta
abbastanza eterogenea, per quanto riguarda le conoscenze-competenze e per la
partecipazione al dialogo scolastico. Nei primi giorni di scuola la conoscenza è
orientata a realizzare la socializzazione degli alunni tra loro con particolare
attenzione a eventuali gruppi di alunni, provenienti da zone decentrate,
individuare gruppi trainanti e a far emergere problemi, motivazioni, disagi e
aspettative. Il fine che si vuole raggiungere con la compartecipazione dei diversi
docenti è stimolare la classe al dialogo, in particolare sollecitando attivamente gli
alunni provenienti da altre classi o ripetenti che trovano maggiori difficoltà ad
inserirsi nel contesto di un gruppo già formato.
Osservazione sul rilievo educativo della disciplina insegnata
La matematica, al pari di parecchie altre discipline, ha un ruolo basilare e
specifico all’interno del processo educativo poiché contribuisce in modo rilevante
alla formazione culturale dei giovani stimolando la ricerca, li aiuta a capire le
successive tappe delle conquiste del pensiero umano, educa alla riflessione, nel
complesso
li aiuta ad acquisire un metodo di studio ordinato, valido anche in
ambito di altri campi del sapere.
Lo studio della matematica:
Ø
Promuove ed esercita le facoltà sia intuitive che logiche
Ø
Educa ai procedimenti euristici, ai processi di astrazione e alla
formazione dei concetti
Ø
Esercita a ragionare induttivamente ed deduttivamente
Anno accademico 2000/2001
3
Ø
Sviluppa le attitudini sia analitiche che sintetiche.
Determinando cosi, nei giovani, abitudine alla sobrietà, precisione nel linguaggio,
cura delle coerenze argomentative, gusto per la ricerca della verità.
Il consiglio di istituto tenendo conto delle aspettative e delle esigenze nonché del
contesto socio-economico-culturale, del territorio su cui si trova dislocata la
maggior parte dell’utenza (alunni, famiglie) si propone di:
Ø
Potenziare la crescita culturale e sociale dei discenti
Ø
Potenziare le loro capacità di autocontrollo
Ø
Potenziare le loro capacità di proporre in modo adeguato le proprie idee
Ø
Potenziare le loro capacità d'autonomia operativa
In ogni caso non dileggiando mai nessuno e dimostrando ad ognuno un
apprezzamento per l’impegno dimostrato, perché ciascuno, vedendo riconosciuto
il proprio lavoro, si senta gratificato e spronato a perseverare (nello studio).
Per
il conseguimento di tali obiettivi, il consiglio di classe concorda nella scelte
delle strategie più idonee per instaurare, nel contesto classe, un clima di
collaborazione reciproca alunno-alunno e alunno-docente.
Ritiene costruttivo che l’alunno:
Ø
Consideri il docente come guida della propria formazione.
Ø
Non dipende troppo dal docente ma acquisti una propria autonomia.
Di contro che il docente:
Ø
Comprenda la personalità dell’alunno
Ø
Valuti per ciascuno il raggiungimento degli obiettivi prefissati in relazione
dei propri livelli di preparazione di partenza e alla proprie attitudini e capacità
apprezzando più i progressi fatti che i risultati effettivi delle singole prove non
trascurando di incoraggiare i più timidi e di frenare gli entusiasmi dei più
superficiali.
Il potenziamento del processo di socializzazione, il raggiungimento degli obiettivi
formativi, previsti dalla Programmazione di Istituto saranno perseguibili lavori di
gruppo guidati o autonomi, ricerche e rielaborazioni, dibattiti e confronti.
Anno accademico 2000/2001
4
Costruzione dell’unità didattica
Il problema didattico centrale, che si pone al docente nell’attuazione dei
programmi, risiede nella scelta di situazioni idonee a fare insorgere in modo
naturale congetture, ipotesi, problemi. Per una pratica così finalizzata sono di
importanza i risultati delle ricerche in campo storico-epistemologico, in quello
pedagogico, nonchè in quello metodologico-didattico.
Le
rappresentazioni
epistemologiche
sono
dei
percorsi
conoscitivi
di
un
particolare concetto matematico o scientifico in generale. Tali rappresentazioni
possono essere messe a punto da un soggetto apprendente o da una comunità
scientifica in un determinato periodo storico.
Affinchè si riesca a costruire bene l’unità didattica è opportuno che si introducano
dei concetti base in modo tale che si renda di facile comprensione l'argomento che
si vuole trattare;
UNITA’ DIDATTICA: “Risoluzioni numeriche d'equazioni”
Enunciazione dell'argomento dell'unità didattica.
L'argomento dell'unità didattica che si vuole affrontare riguarda le risoluzioni
numeriche di equazioni.
Concetti e vocaboli introdotti:
Concetto di soluzione numerica di equazioni, approssimazione, errore, iterazione,
formule iterative.
Prerequisiti e obiettivi:
I prerequisiti per l’apprendimento, devono essere i seguenti:
Ø
Conoscere e sapere applicare i metodi algebrici di soluzioni delle equazioni
polinomiali.
Ø
Conoscere le equazioni trascendenti e trigonometriche.
Ø
Sapere utilizzare il foglio di calcolo.(EXCEL)
Gli obiettivi cognitivi che si vogliono perseguire sono:
Ø
Conoscere i principali metodi numerici di soluzione di equazioni polinomiali,
trascendenti e trigonometriche
Anno accademico 2000/2001
5
Ø Conoscere
i
limiti
di
applicabilità
dei
metodi
numerici
di
soluzione
dell’equazioni.
Ø
Conoscere il problema degli errori nei metodi numerici di soluzione
dell’equazioni.
Gli obiettivi operativi che si vogliono perseguire sono:
Ø
Sapere risolvere in forma numerica equazioni polinomiali, trascendenti e
trigonometriche con l’ausilio del foglio di calcolo.
Ø
Confrontare i vari metodi di soluzione
delle equazioni polinomiali,
trascendenti e trigonometriche.
Ø
Sapere valutare l’errore commesso nell’applicazione di un metodo per
soluzione equazioni
Ø
Valutare l'efficacia di un metodo di soluzione rispetto ad un altro.
Anno accademico 2000/2001
6
UNITA’ DIDATTICA: “Calcolo numerico d’ integrali definiti”
Enunciazione dell'argomento dell'unità didattica.
L'argomento dell'unità didattica che si vuole affrontare, riguarda calcolo numerico
di integrali definiti
Concetti e terminologia introdotti:
Concetto di calcolo numerico di integrale definito, errore di approssimazione.
Prerequisiti e obiettivi:
I prerequisiti per l’apprendimento, devono essere i seguenti:
Ø
Concetti di limite, e di calcolo differenziale.
Ø
Concetto di funzione primitiva e di integrale indefinito.
Ø
Sapere utilizzare il foglio di calcolo.
Ø
Conoscere il concetto di errore di approssimazione.
Gli obiettivi cognitivi che si vogliono perseguire sono:
Ø
Conoscere i principali metodi numerici di calcolo di integrali definiti.
Ø
Conoscere i limiti di applicabilità dei metodi di integrazione numerica.
Gli obiettivi operativi che si vogliono perseguire sono:
Ø
Sapere calcolare in forma numerica integrali definiti.
Ø
Confrontare i vari metodi di calcolo numerico su tali integrali.
Ø
Sapere valutare l’efficacia di un metodo rispetto ad un altro
Verifiche e criteri di valutazioni:
Le valutazioni sull’apprendimento, volte ad accertare il livello di preparazione
raggiunto dall’allievo in ordine al tipo di conoscenza e capacità connesse agli
obiettivi dell’insegnamento saranno effettuate tramite prove di verifiche di tipo
formativo e sommativo. Le verifiche di tipo formativo saranno necessarie per il
controllo in itinere del processo di apprendimento e di supporto per eventuali
pilotaggi dell’attività didattica, prevedendo che nel caso venissero riscontrate
eventuali lacune, queste verranno colmate attraverso un processo di recupero in
itinere.
Anno accademico 2000/2001
7
Le verifiche di tipo sommativo serviranno per il controllo del profitto scolastico ai
fini della classificazione finale.
Gli strumenti da utilizzare consisteranno in interrogazione, prove semistrutturate,
questionari, esercizi ed esercitazioni al computer.
I fattori che concorreranno alla valutazione saranno: l’impegno profuso, il metodo
di studio, la partecipazione all’attività didattica, l’eventuale progresso riscontrato,
il livello di conoscenza-competenza, nonché la situazione personale.
Anno accademico 2000/2001
8
Attività didattica
La nostra attività didattica consta di due parti fondamentali:
1. Introduzione del problema della soluzione di equazioni generiche: f(x) = 0
2. Laboratorio d'informatica, in cui saranno implementati grazie al foglio
elettronico i metodi esposti nella parte teorica.
La nostra lezione inizia col porre immediatamente il problema:
richiamando le equazioni di primo grado chiederemo agli studenti cosa voglia dire
risolvere un'equazione, è chiaro che per la maggior parte dei casi avremo modo di
appurare una conoscenza del problema da parte di tutti. Iterando il nostro
procedimento, riprenderemo le equazioni di secondo grado facendo notare come il
metodo del discriminante ci assicura la conoscenza univoca delle due radici.
L'assenza di tale metodo ci costringerebbe a provare ripetutamente se alcuni
numeri presi a caso siano radici della nostra equazione. E' chiaro che questo
modus operandi è inefficace per risolvere la nostra equazione e potrebbe anche
non garantirci la soluzione in un tempo ragionevolmente breve.
L'esistenza del metodo del discriminante per risolvere le equazioni di secondo
grado alla fine rassicura gli studenti, legati ad una visione "formulistica" della
matematica, sulla possibilità di trovare le soluzioni. La conoscenza di equazioni
superiori al secondo grado da parte degli studenti nei programmi di scuola
secondaria
è legata solitamente alla possibilità di ricondurle a quelle di secondo
grado: misconoscendo il fatto che quelle equazioni sono soltanto una piccolissima
parte di quelle esistenti, e che basta cambiare di poco i coefficienti per non essere
più in grado di risolverle.
Nella fattispecie l'equazione:
6 x3 - 19 x2 +19 x - 6 = 0
ha tre radici complesse, che si possono direttamente ricavare riconducendola ad
un'equazione di secondo grado.
Basta cambiare di un'unità uno qualsiasi dei coefficienti trasformando ad esempio
l'equazione nella forma:
Anno accademico 2000/2001
9
6 x3 - 19 x2 +19 x -5 = 0
per trovarsi nell'impossibilità di risolverla con metodi tradizionali.
Infatti solo raramente è possibile determinarne le soluzioni esatte e questo può
accadere per vari motivi.
Facciamo un paio di esempi:
• È noto che anche per funzioni piuttosto semplici, per esempio polinomi di grado
> 4 non è possibile scrivere formule risolutive in forma chiusa (cioè in cui
compaiono solo un numero finito di operazioni elementari). Questo obbliga ad
usare metodi iterativi che portano necessariamente a valori approssimati per le
soluzioni.
• I calcoli sono svolti in precisione finita: i numeri reali sono rappresentati nei
calcolatori
secondo
un
sistema
detto
virgola
mobile
normalizzata.
Non
descriveremo nei particolari questo metodo di rappresentazione; ci limiteremo ad
osservare che è rappresentabile in macchina esattamente solo un sottoinsieme
finito di reali.Tutti gli altri sono affetti fin dall'inizio da un errore di
rappresentazione che varia a seconda della precisione di macchina (cioè a seconda
di quante cifre binarie sono usate per rappresentare ciascun reale). Un valore
tipico per l'errore relativo è circa 10-7 . Nonostante questo valore sia piuttosto
piccolo, ci sono casi in cui può portare a seri problemi di calcolo.
A seconda del contesto, cioè a seconda del metodo usato, dire che un valore x* è
una soluzione approssimata di una equazione f(x) = 0 può voler dire sia che |f(x*)|
è"piccolo" a sufficienza sia che x* è "vicino" alla soluzione esatta dell'equazione.
Si pone a questo punto l'esigenza di utilizzare un metodo numerico per risolvere la
nostra equazione.
Dovrebbe essere chiaro agli studenti che trovare la soluzione dell'equazione
equivale a trovare i punti d'intersezione con l'asse x della funzione f (x) = 6 x3 - 19
x2 +19 x -5.
Illustriamo quindi i vari metodi di soluzione numerica di equazioni:
Il metodo di bisezione
Consideriamo l'equazione
x3 - x - 1 = 0
Anno accademico 2000/2001
10
Osserviamo che
f(1) = -1 e f(2) = 5
allora, poiché la funzione f(x) è continua, essa assume tutti i valori compresi tra -1
e 5 (teorema di Weierstrass).
In particolare deve esistere almeno un valore x* compreso tra 1 e 2 tale che
f(x*)=0. Studiando il segno della derivata f'(x) si potrebbe anche stabilire a priori
che c'è esattamente un valore che annulla f(x) nell'intervallo [1, 2].
Come si può vedere dal grafico seguente:
6
5
4
3
f(x) 2
1
0
-1
1
1,2
1,4
1,6
1,8
2
-2
x
Potremo prendere il punto medio del segmento come prima approssimazione della
soluzione:
x* = 1.5 con errore assoluto < 0.5
Per cercare di individuare la soluzione valutiamo f(x) nel punto medio
dell'intervallo; si ha:
f(1.5) = 0.875 > 0 > -1 = f(1).
Quindi ora sappiamo che la soluzione x* è nell'intervallo [1, 1.5]. In altri termini:
x* = 1.25 con errore assoluto < 0.25.
Ripetendo lo stesso ragionamento, calcoliamo f(1.25):
f(1.25) = -0.296... < 0 < 0.875 = f(1.5),
quindi
x*=1.375 con errore assoluto < 0.125.
Proseguendo, si individua una sequenza di intervalli, di ampiezza sempre più
piccola: ogni volta che si calcola la f in un nuovo punto l'errore dimezza.
Il procedimento si può porre in forma algoritmica come segue:
Anno accademico 2000/2001
11
data una funzione f(x) continua nell'intervallo [a0 , b0 ] e tale che f(a0 )f(b0 ) < 0, e
dato un intero n
1.Per n = 0, 1, 2, ..., finché non soddisfatti
m = (an +bn )/2
Se f(an )f(m) < 0 allora
an+1 = an
bn+1 = m
altrimenti
an+1 = m
bn+1 = bn
2.L'equazione f(x) = 0 ha una soluzione x = m con errore assoluto < bn+1 - an+1 .
È necessario precisare cosa significa l'espressione finché non soddisfatti . Un
algoritmo, per essere tale, ha bisogno di un termine. Il procedimento usato invece
potrebbe essere portato avanti all'infinito: è sempre possibile trovare un nuovo
punto medio, calcolarci la funzione, trarre le conclusioni e ripartire daccapo.
È necessario quindi aggiungere un criterio di arresto al procedimento: se non lo
facessimo, un programma che realizzasse il metodo, proseguirebbe a fare calcoli
in eterno senza fornire mai una risposta. Per evitarlo è sufficiente prevedere che ci
si fermi dopo un certo numero massimo d'iterazioni, qualunque sia l'esito
dell'elaborazione. D'altra parte, se ad un certo punto si avesse f(m) = 0, avremmo
trovato la soluzione e non avrebbe senso proseguire oltre. Possiamo quindi
riscrivere l'algoritmo nella maniera
seguente:
Data una funzione f(x) continua nell'intervallo [a0 , b0 ], tale che f(a0 )f(b0 ) < 0 e
dato un intero nmax
1.Per n=0, 1, 2, ..., nmax
m = (an +bn )/2
Se f(m) = 0 salta al punto 2.
Se f(an )f(m) < 0 allora
an+1 = an
bn+1 = m
altrimenti
Anno accademico 2000/2001
12
an+1 = m
bn+1 = bn
2.L'equazione f(x) = 0 ha una soluzione x = m con errore assoluto < bn+1 - an+1 .
Per i metodi iterativi è bene prevedere un criterio che arresti le iterazioni, allorché
il risultato raggiunto è giudicato buono a sufficienza,
per esempio se l'errore
relativo è minore di una tolleranza fissata. Per il metodo di bisezione, dato che
l'errore relativo dimezza ad ogni ciclo, un criterio di questo tipo coincide
esattamente col fissare un numero massimo di iterazioni.
Il punto di forza di questo metodo è nella sua semplicità e sicura convergenza, il
suo punto debole è invece nella scarsa efficienza rispetto agli altri metodi infatti
poiché ad ogni passo viene dimezzato l’intervallo contenente la radice, pertanto
richiede un numero elevato di iterazioni.
L'algoritmo su descritto può essere implementato al calcolatore ricorrendo a un
linguaggio di alto livello come Pascal, C, Visual Basic o un programma specifico
per la matematica ad esempio Derive.
In appendice A sono riportate un grafico dell'interpretazione geometrica del
metodo di bisezione, e un diagramma di flusso utile nel caso si voglia
implementare il metodo in forma algoritmica. Nel caso che si voglia invece
implementare il metodo su un foglio di calcolo l'algoritmo su descritto può essere
tradotto nelle seguenti funzioni:
Supposto come nel nostro caso che f(a)*f(b)< 0 si ha:
a1 = [a +(1-segno(f(a)*f(m))*a/2+(1+segno(f(a)*f(m))*b/2]/2
b1 = [b +(1-segno(f(a)*f(m))*a/2+(1+segno(f(a)*f(m))*b/2]/2
e iterando:
an+1 = [an +(1-segno(f(an )*f(mn ))* an /2+(1+segno(f(an )*f(mn ))*bn /2]/2
an+1 = [bn +(1-segno(f(an )*f(mn ))* an /2+(1+segno(f(an )*f(mn ))*bn /2]/2
Di seguito è riportata l'applicazione di questo metodo al caso precedente mediante
foglio di calcolo Excel:
Anno accademico 2000/2001
13
Soluzioni di equazioni con il metodo di bisezione
x3 - x - 1 = 0
n
a
b
f(a)
0
1
2
1
1
1,25
2
1,5
1,5
3
1,25
4
1,3125
1,375
5
1,3125
1,34375
6
1,3125
1,328125
7 1,320312
5
1,328125
8 1,324218
75
1,328125
1,375 -0,296875
9 1,324218 1,3261718
75
75
10 1,324218 1,3251953
75
13
11 1,324707
03
12 1,324707
03
13 1,324707
03
14 1,324707
03
15 1,324707
03
16 1,324707
03
17 1,324714
66
-1
-1
-0,296875
1,3251953
13
1,3249511
72
1,3248291
02
1,3247680
66
1,3247375
49
1,3247222
9
1,3247222
9
0,0515136
72
0,0515136
72
0,0515136
72
0,0187106
13
0,0021279
45
0,0021279
45
0,0021279
45
-4,65949E05
-4,65949E05
-4,65949E05
-4,65949E05
-4,65949E05
-4,65949E05
-1,40587E05
f(b)
m=(a+b)/2
f(m)
5
1,5
0,875
0,875
1,25 -0,296875
0,875
1,375 0,22460937
5
0,2246093
1,3125
75
0,05151367
2
0,2246093
1,34375 0,08261108
75
4
0,0826110
84
1,328125 0,01457595
8
0,0145759 1,3203125
58
0,01871061
3
0,0145759 1,3242187
58
5 0,00212794
5
0,0145759 1,3261718 0,00620883
58
75
0,0062088 1,3251953 0,00203665
3
13
1
0,0020366 1,3247070 -4,65949E51
31
05
0,0020366
51
0,0009947
91
0,0004740
39
0,0002137
07
8,35524E05
1,84779E05
1,84779E05
Anno accademico 2000/2001
1,3249511
72
1,3248291
02
1,3247680
66
1,3247375
49
1,3247222
9
1,3247146
61
1,3247184
75
0,00099479
1
0,00047403
9
0,00021370
7
8,35524E05
1,84779E05
-1,40587E05
2,20949E06
14
18 1,324714
66
19 1,324716
57
20 1,324717
52
21 1,324717
52
22 1,324717
76
23 1,324717
88
1,3247184
75
1,3247184
75
1,3247184
75
1,3247179
99
1,3247179
99
1,3247179
99
-1,40587E05
-5,92464E06
-1,85758E06
-1,85758E06
-8,40809E07
-3,32426E07
2,20949E06
2,20949E06
2,20949E06
1,75958E07
1,75958E07
1,75958E07
1,3247165
68
1,3247175
22
1,3247179
99
1,3247177
6
1,3247178
79
1,3247179
39
-5,92464E06
-1,85758E06
1,75958E07
-8,40809E07
-3,32426E07
-7,82336E08
Il metodo delle corde
Il metodo delle corde è un metodo iterativo più efficiente per calcolare le radici di
un’equazione non lineare f(x) reale e continua in un intervallo chiuso e limitato
[a,b] che assuma valori di segno opposto agli estremi dell’intervallo, condizione
che, come detto in precedenza, assicura la presenza di almeno una radice.
Il metodo delle corde (o della falsa posizione), la cui interpretazione grafica è
riportata in figura, consiste nel calcolare se l’intersezione xi della retta (corda)
passante per i punti A,B di coordinate (a,ƒ(a)) e (b, ƒ(b)) rispettivamente con
l’asse delle ascisse è una radice.
Poiché l’equazione di una retta passante per i punti A,B ha equazione:
Anno accademico 2000/2001
15
x−a
y − f (a )
=
b − a f (b) − f ( a)
ponendo y = 0 si ottiene:
x = a−
(b − a) * f ( a)
f (b ) − f ( a )
o ancora meglio:
x=
a * f (b ) − bf ( a)
f (b ) − f ( a )
Per verificare questa condizione, non si controlla se f(xi) = 0, ma (poiché si lavora
con i numeri reali) se | f(xi)| < p, ove p rappresenta la precisione scelta.
Se xi non è una radice si valuta il segno del prodotto f(a) f(xi) e si procede allo
stesso modo nel sotto intervallo [a, xi ] se il segno è negativo, o nel sottointervallo
[xi ,b] se è positivo.
Pertanto iterando il procedimento si genera una successione di termini { xi }, il cui
termine (i+1)-esimo è:
x1+1 =
x i −1 * f ( xi ) − xi * f ( x i −1 )
f ( x i ) − f ( x i −1 )
i = 2,3,4…
Si può notare che se, come sovente succede nei casi pratici, nell’intervallo
considerato la funzione sia monotona e non cambi concavità, allora uno degli
estremi rimane fisso e le formula precedente assume le seguenti forme:
Anno accademico 2000/2001
16
Caso A
funzione crescente e concavità verso il basso oppure
funzione decrescente e concavità verso l’alto
cioè: f (a ) * f ' ' ( x) > 0
allora la formula da applicare diventa la seguente:
x i +1 =
a * f ( xi ) − xi * f ( a)
f ( x i ) − f (a )
Caso B
funzione decrescente e concavità verso il basso oppure
funzione crescente e concavità verso l’alto
cioè: f (a ) * f ' ' ( x) > 0
allora la formula da applicare diventa la seguente:
x i +1 =
xi * f (b) − b * f ( xi )
f (b ) − f ( xi )
Poiché il procedimento su cui è basato il metodo delle corde approssima la
funzione con la retta individuata dai punti di coordinate (a, f(a)) e (b, f(b)) si può
dimostrare che l’errore commesso durante ogni iterazione è minore e pertanto è
necessario un minor numero di iterazioni rispetto al metodo di bisezione, come si
può dal seguente foglio di calcolo dove è stato applicato il metodo delle corde
alla stessa funzione e allo stesso intervallo dell’esempio precedente, in questo
caso la funzione è crescente e concava verso l’alto per cui la funzione di
iterazione da applicare è quella del caso B.
Anno accademico 2000/2001
17
Soluzioni di equazioni con il metodo delle corde
X3 - x - 1 = 0
n
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
a
b
1 2
-1 2
-0,5787037 2
-0,285363 2
-0,1295421 2
-0,0565885 2
-0,0243037 2
-0,0103619 2
-0,0044039 2
-0,0018693 2
-0,000793 2
-0,0003363 2
-0,0001426 2
-6,047E-05 2
-2,564E-05 2
-1,087E-05 2
-4,611E-06 2
-1,955E-06 2
-8,291E-07 2
-3,516E-07 2
-1,491E-07 2
-6,321E-08 2
-2,68E-08 2
-1,137E-08 2
f(a)
-1
-1
-0,615102996
-0,737874669
-0,872631773
-0,943592724
-0,975710608
-0,989639262
-0,995596136
-0,998130748
-0,999207041
-0,999663699
-0,999857386
-0,999939525
-0,999974356
-0,999989126
-0,999995389
-0,999998045
-0,999999171
-0,999999648
-0,999999851
-0,999999937
-0,999999973
-0,999999989
f(b)
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
xi
1
1,16666667
1,25311203
1,2934374
1,31128102
1,3189885
1,32228272
1,32368429
1,32427946
1,32453199
1,32463909
1,32468452
1,32470378
1,32471194
1,32471541
1,32471688
1,3247175
1,32471776
1,32471787
1,32471792
1,32471794
1,32471795
1,32471795
1,32471796
f(xi)
-1
-0,578703704
-0,28536303
-0,129542093
-0,056588487
-0,024303747
-0,01036185
-0,00440395
-0,001869258
-0,000792959
-0,000336301
-0,000142614
-6,0475E-05
-2,56438E-05
-1,08739E-05
-4,61092E-06
-1,95519E-06
-8,29066E-07
-3,51552E-07
-1,4907E-07
-6,32108E-08
-2,68035E-08
-1,13656E-08
-4,8194E-09
Metodi di punto fisso o delle approssimazioni successive
Sono i metodi che si ottengono trasformando il problema del calcolo dello zero di
f(x) nel problema equivalente della costruzione di una successione (convergente)
x k +1 = ϕ( x k )
(1)
x = ϕ(x )
(2)
dove ϕ(x) è scelta in modo che
che può essere ottenuto da:
f (x ) + x = x
Anno accademico 2000/2001
18
ponendo
f ( x ) + x = ϕ( x)
se α ∈ R
è una radice dell’equazione
f (x ) = 0
(3)
allora α sarà anche soluzione dell’equazione (2), con
α = ϕ(α)
e a si dice punto fisso o punto unito di ϕ(α)
Geometricamente la soluzione della (3) coincide con l’ascissa del punto di
intersezione di:
y=x
e
y = ϕ( x)
Vediamo un semplice esempio:
f (x ) = x 2 − 2 x + 1
ϕ1 ( x ) =
x 2 +1
2
ϕ2 ( x ) = 2 x − 1 ;
ϕ3 ( x ) = x 2 − x + 1
Le tre ϕi ( x) ammettono tutte α = 1 come ''punto unito'', ma non tutte e tre vanno
bene per generare una successione convergente
x0 =
partendo, per esempio, da
1
2
Non tutte le ϕ(x) di iterazione generano successioni di {xn } convergenti ad α, la
condizione affinché avvenga ciò è che esista un opportuno intorno F di α dove la
ϕ(x) sia continua con la sua derivata prima e che in tale intorno sia:
0 < ϕ' ( x ) ≤ q < 1
Anno accademico 2000/2001
19
in tal caso per ogni x0 appartenente ad F esiste una successione {xn }convergente
ad α.
Consideriamo adesso la funzione:
x3 − 4x − 1 = 0
una possibile funzione d’iterazione è la seguente:
x3 − 1
ϕ( x) =
4
la quale, assumendo come punto iniziale x 0 = −1.8 porta rapidamente alla
soluzione x = -0.2541, come è possibile osservare, anche in forma animata, nel
seguente foglio di calcolo Excel: Iterazioni1.xls
Un secondo esempio è la funzione:
x3 + 4x − 1 = 0
per la quale una funzione di iterazione è la seguente:
 x3 − 1 

ϕ( x) = −
 4 
Anno accademico 2000/2001
20
ed assumendo come punto iniziale x 0 = 2 porta rapidamente alla soluzione
x = 0.246266 , come è possibile osservare, anche in forma animata, nel seguente
foglio di calcolo Excel: Iterazioni2.xls.
Nel foglio di calcolo si può anche vedere come inserendo un valore iniziale
x 0 > 2 la successione ϕ(x k) non converge.
Anno accademico 2000/2001
21
Integrazione numerica
Attività didattica
La nostra attività didattica consta di due parti fondamentali:
1. Introduzione del problema della soluzione di equazioni generiche: f(x) = 0
2. Laboratorio d'informatica, in cui saranno implementati grazie al foglio
elettronico i metodi esposti nella parte teorica.
La valutazione di integrali definiti quando non è nota la primitiva della funzione
integranda o quando il procedimento analitico risulta complesso richiede
l’applicazione di metodi numerici.
Le tecniche numeriche si basano sull’applicazione di una formula che usa i valori
che la funzione integranda assume all’interno dell’intervallo di integrazione.
Ogni formula di integrazione numerica ha un suo grado di precisione infatti:
b
n
a
i=1
∫ f(x) = ∑ ci f(x) + Rn (f)
il primo termine è detto parte approssimante e Rn (f) errore di troncamento.
La valutazione numerica dell’integrale avviene tramite la costruzione di una
opportuna successione di valori {xi}, tale che risulti:
n
lim ∑ ci f(x) =
n→ ∞ i=1
b
∫ f(x) e R (f) = 0
n
a
La successione {xi} dei valori ottenuti dipende dal procedimento iterativo
applicato.
Nei successivi paragrafi saranno analizzati alcuni tra i metodi di integrazione
numerica più semplici da realizzare: il metodo dei rettangoli, dei trapezi e di
Cavalieri-Simpson.
Anno accademico 2000/2001
22
METODO DEI RETTANGOLI
Il metodo dei rettangoli è il metodo iterativo più semplice per calcolare l’integrale
definito di una funzione ƒ(x) reale e continua in un intervallo chiuso e limitato
[a,b].
Esso consiste nel suddividere l’intervallo di integrazione [a,b] in un certo numero
di sottointervalli n e nell’approssimare la funzione all’interno di ciascun intervallo
con il valore costante che questa assume nel suo punto medio, pertanto il calcolo
dell’integrale numerico viene quindi a corrispondere con la somma dei rettangoli
aventi come base l’ampiezza costante dei sottointervalli h = (b-a)/n e come
altezza il valore che la funzione assume nel punto medio di ciascun rettangolo.
La formula risultante, nel caso in cui si scelga n=1 risulta:
b
∫ f(x) ≈ h *f (a+h/2) ove h= (b-a)
a
Nel caso in cui n=2, h= (b-a)/n
b
∫ f(x) ≈ h* f (a+h/2) + h f(a+h/2+h)
a
mentre per n generico e h= (b-a)/2n si ha:
b
n-1
a
i=0
∫ f(x) ≈ ∑ h f(a+(1/2+i) h)
Il procedimento di calcolo dell’integrale, può essere semplicemente realizzato
prevedendo n iterazioni che conviene numerare con i da 0 a n-1 e incrementare
ad ogni passo, come è riportato nel programma, la somma integrale con il valore:
F(A+(i+.5)*h) .
infatti la x dovrebbe assumere i valori:
Anno accademico 2000/2001
23
A+h/2, A+h/2+h,A+ h/2+h+h,....ovvero ad ogni iterazione x= A+(i+0.5)h
Per una migliore approssimazione del risultato e per non incorrere in
problemi di convergenza il calcolo dell’integrale viene ripetuto dimezzando a
ogni passo l’ampiezza dei sottointervalli, fino a quando la differenza tra due
valori successivamente calcolati è minore della precisione che si vuole
raggiungere nel calcolo.
Nel metodo dei rettangoli, la cui interpretazione grafica è riportata in Fig.2.1 Per
verificare questa condizione (poiché si lavora con i numeri reali) si controlla se
|Ι−Ι 1 | < p, ove p rappresenta la precisione scelta.
Poiché si approssima la funzione, in ogni sottointervallo, con la retta parallela
all’asse x di equazione y = f(xi) viene commesso un errore di approssimazione che
richiede un elevato numero di iterazioni prima di giungere al risultato.
Fig.2.1 Interpretazione grafica dell’integrazione numerica secondo il metodo dei
rettangoli
Animazione integrazione numerica con il metodo dei rettangoli
Anno accademico 2000/2001
24
METODO DEI TRAPEZI
Esso consiste nel suddividere l’intervallo di integrazione [a,b] in un certo numero
di sottointervalli n e nell’approssimare la funzione all’interno di ciascun intervallo
con la spezzata che congiunge i punti per cui passa il grafico della funzione agli
estremi di ogni intervallo, pertanto il calcolo dell’integrale corrisponde alla
somma dei trapezi aventi come altezza l’ampiezza dei sottointervalli STEP = (ba)/n e come base maggiore e minore il valore che la funzione assume agli estremi
dei singoli sottointervalli.
La formula risultante, nel caso in cui si scelga n=1 risulta:
b
∫ f(x) ≈ h/2 ( f (a+h) + f(a)) ove h= (b-a)
a
Nel caso in cui n=2, h= (b-a)/n
b
∫ f(x) ≈ h/2 ( f (a+h) + f(a)) + h/2 ( f (a+2h) + f(a+h))
a
mentre per n generico e h= (b-a)/2n si ha:
b
n-1
a
i=0
∫ f(x) ≈ ∑ h/2 [f(a+(i+1) h) + f(a+i h)] oppure
b n-1
∫ f(x) ≈ h/2 [f(a+f(b)] + ∑ h [f(a+i h)] (detta formula di Bezout)
a i=0
Il calcolo dell’integrale, di cui in Fig.2.2.ne è riportata l’interpretazione grafica,
può essere semplicemente realizzato prevedendo n iterazioni che conviene
numerare con un indice i da 0 a n-1 e incrementare ad ogni passo la somma
integrale con il valore:
Anno accademico 2000/2001
25
h*.5* ((F(a+i*h)+F(a+(i+1)*h)))
Infatti durante il procedimento di calcolo si deve generare una successione di
termini ( ciascuno rappresentante l’area di un trapezio), ove si moltiplica l’altezza
costante dei trapezi, pari ad h, per la somma delle due basi diviso 2, pertanto,
come è riportato nel programma:
I=I+(h*.5*(F(a+i*h)+F(a+(i+1)*h)))
Per rendere minimo l’errore e per non incorrere in problemi di convergenza il
procedimento
viene
ripetuto
dimezzando
a
ogni
passo
l’ampiezza
dei
sottointervalli, fino a quando la differenza tra due valori successivamente calcolati
diventa trascurabile ovvero (poiché si lavora con i numeri reali) fino a quando
|Ι2−Ι1 | < p, ove p rappresenta la tolleranza scelta.
S può dimostrare che l’errore commesso usando la formula trapezoidale, che
risulta :
R(t) < 1/12 (xi - xi+1 )3 • f′ ′ (ξ )
è molto minore rispetto a quello commesso usando la formula rettangolare,
pertanto il risultato ottenuto a parità di sottointervalli risulta più approssimato.
Fig.2.2 Interpretazione grafica dell’integrazione numerica secondo il metodo dei
trapezi
Anno accademico 2000/2001
26
Anno accademico 2000/2001
27
METODO DI CAVALIERI-SIMPSON
Il metodo di Cavalieri-Simpson consiste nel suddividere l’intevallo [a,b] in un
certo numero di sottointervalli n e nell’approssimare la funzione, all’interno di
ogni sottointervallo, con una parabola individuata dai punti di coordinate:
(xi, f(xi)), (xi+1 , f(xi+1 )) e dal punto intermedio (xi + (b-a)n) f(xi + (b-a)n)).
La formula risultante, nel caso in cui si scelga n=1 risulta:
b
∫ f(x) ≈ (h/3)[f(a)+4f (a+h)+f( b)] ove h= (b-a)/2
a
Nel caso in cui n=2, h= (b-a)/2n
b
∫ f(x) ≈ (h/3)[f(a)+4f (a+h)+f( a+2h)] + (h/3)[f(a+2h)+4f (a+3h)+f( b)]
a
mentre per n generico e h= (b-a)/2n si ha:
b
∫ f(x) ≈ (h/3)[f(a)+4f (x )+2f(x )+....+ 4f(x
1
2
2n-1 )+f(x2n )]
a
Il procedimento di calcolo dell’integrale, può essere semplicemente realizzato
inizializzando la somma integrale con la sommatoria dei primi due termini e
dell’ultimo termine:
I=(F(a)+F(b)+4*F(a+h*(2*n-1)))*h/3.0
tramite l’iterazione di n passi che conviene numerare tramite un indice i da 0 a
n-1, ove la somma integrale verrà incrementata con la coppia di termini successivi
di coefficiente 4 e 2:
Anno accademico 2000/2001
28
I=I+h/3.0*(4*F(a+i*h)+2*F(a+(i+1)*h))
Si noti che il calcolo dell’integrale secondo questo metodo, come risulta
osservando la Fig.2.3 prevede la ulteriore divisione a metà di ogni intervallo,
pertanto dopo aver fissato il valore iniziale di n questo sarà subito raddoppiato per
poter iniziare correttamente il calcolo.
Come nei casi precedenti per rendere minimo l’errore e per non incorrere in
problemi di convergenza il procedimento viene ripetuto raddoppiando a ogni
iterazione il numero dei sottointervalli, fino a quando la differenza tra due valori
successivamente calcolati è minore della precisione che si vuole raggiungere nel
calcolo, ovvero si controlla se |Ι2−Ι1 | < p, ove p rappresenta la tolleranza scelta.
Il metodo di Cavalieri-Simpson è uno tra i metodi più utilizzati per la notevole
precisione che è in grado di raggiungere con pochi intervalli di calcolo, infatti è
possibile dimostrare che l’errore di calcolo commesso risulta :
R(t) < 1/90 (xi - xi+1 )5 • f′ ′ (ξ )
ovvero molto minore rispetto alle formule presentate in precedenza.
Fig.2.3 Interpretazione grafica dell’integrazione numerica secondo il metodo di
Cavalieri-Simpson
Nel seguente foglio di calcolo possiamo vedere un confronto tra i diversi metodi
di calcolo numerico degli integrali applicato alla funzione:
f(x) =
x
Anno accademico 2000/2001
29
nell’intervallo [0,1]
Integrazione Numerica
i
0
f(x) =
x
x
yn
0
cn yn
0
0
0,03 0,18257 0,73029
3
4
7
0,06 0,25819 0,51639
2
7
9
8
0,31622 1,26491
3 0,1
8
1
0,13 0,36514 0,73029
4
3
8
7
0,16 0,40824 1,63299
5
7
8
3
0,44721 0,89442
6 0,2
4
7
0,23 0,48304 1,93218
7
3
6
4
0,26 0,51639 1,03279
8
7
8
6
0,54772
9 0,3
3 2,19089
1 0,33
1,15470
0
3 0,57735
1
1 0,36
1
7 0,60553 2,42212
1
0,63245 1,26491
2 0,4
6
1
1 0,43 0,65828 2,63312
3
3
1
2
1 0,46
4
7 0,68313 1,36626
1
0,70710 2,82842
5 0,5
7
7
1 0,53 0,73029 1,46059
6
3
7
3
1 0,56 0,75277 3,01109
7
7
3
1
1 0,6 0,77459 1,54919
1
a=
0
b=
1
n=
30
0,03333333
h=
3
Rn
S
=
S
=
S
Metodo Rettangoli (y1 -yn) =
S
Metodo Trapezi
=
S
Metodo Cavalieri Simpson =
Valore esatto
Metodo Rettangoli (y0 -yn1)
0,66666667
0,64878114
0,68211447
0,66544781
0,66617260
0,0178855
3
0,0154478
1
0,0012188
6
0,0004940
7
Anno accademico 2000/2001
30
8
1
9
2
0
2
1
2
2
2
3
2
4
2
5
2
6
2
7
2
8
2
9
3
0
7
3
0,63 0,79582
3
2 3,18329
0,66 0,81649 1,63299
7
7
3
Anno accademico 2000/2001
31
0,7 0,83666 3,34664
0,73 0,85634 1,71269
3
9
8
0,76 0,87559
7
5 3,50238
0,89442 1,78885
0,8
7
4
0,83 0,91287 3,65148
3
1
4
0,86 0,93094 1,86189
7
9
9
0,94868 3,79473
0,9
3
3
0,93 0,96609 1,93218
3
2
4
0,96 0,98319 3,93276
7
2
8
1
1
1
Griglia di valutazione
Valutazione
Comprensione del
testo
Uso delle regole di
calcolo e formalismi
matematici
Errato
Correttezza espressiva
Rielaborazione critica
e originalità
Non adeguata
Conoscenza dei
contenuti e loro
applicazione
Incoerente
< 4 = insufficiente
Errata
Assente
5 = mediocre
Parziale
Superficiale
Impreciso
Lessico impreciso
Superficiale
6 = sufficiente
Sufficiente
Sufficiente
Corretto
Lessico corretto
Adeguati
7 = discreto
Discreta
Discreta
Appropriato
Lessico corretto ed
appropriato
Articolata capacità di
collegamento e di
estensione dei contenuti
8 = buono
Valida organizzazione
Approfondita
Adeguato
Lessico specifico e
adeguato
Personale
9/10 = ottimo
Padronanza
organizzativa e capacità
analitico sintetico
Applicazione dei
contenuti articolata e
fluida
Padronanza delle
regole e dei
formalismi
Padronanza del
linguaggio specifico
Personale ed originale
Anno accademico 2000/2001
32
Appendice A
Interpretazione geometrica del metodo di bisezione:
Anno accademico 2000/2001
Diagramma di flusso per il metodo di bisezione:
Anno accademico 2000/2001