Appunti del corso di Metodi analitici e numerici...Politecnico di Milano Scuola di Ingegneria...

302
Politecnico di Milano Scuola di Ingegneria Industriale e dell’Informazione Corso di studi in Ingegneria Meccanica Appunti del corso di Metodi analitici e numerici - Anno Accademico 2018/2019

Transcript of Appunti del corso di Metodi analitici e numerici...Politecnico di Milano Scuola di Ingegneria...

Page 1: Appunti del corso di Metodi analitici e numerici...Politecnico di Milano Scuola di Ingegneria Industriale e dell’Informazione Corso di studi in Ingegneria Meccanica Appunti del corso

Politecnico di MilanoScuola di Ingegneria Industriale e dell’Informazione

Corso di studi in Ingegneria Meccanica

Appunti del corso diMetodi analitici e numerici

-

Anno Accademico 2018/2019

Page 3: Appunti del corso di Metodi analitici e numerici...Politecnico di Milano Scuola di Ingegneria Industriale e dell’Informazione Corso di studi in Ingegneria Meccanica Appunti del corso

Indice

I Metodi numerici 1

1 Risoluzione di sistemi lineari 21.1 Metodi diretti . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4

1.1.1 Risoluzione di sistemi diagonali . . . . . . . . . . . . . . . . 41.1.2 Risoluzione di sistemi triangolari . . . . . . . . . . . . . . . 51.1.3 Fattorizzazione LU e metodo di eliminazione di Gauss . . . . 61.1.4 Algoritmo di Thomas . . . . . . . . . . . . . . . . . . . . . . 121.1.5 Fattorizzazione di Cholesky . . . . . . . . . . . . . . . . . . 131.1.6 Accuratezza della soluzione con metodi diretti . . . . . . . . 13

1.2 Metodi iterativi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 171.2.1 Metodo di Jacobi . . . . . . . . . . . . . . . . . . . . . . . . 191.2.2 Metodo di Gauss-Seidel . . . . . . . . . . . . . . . . . . . . 201.2.3 Metodo del gradiente . . . . . . . . . . . . . . . . . . . . . . 211.2.4 Metodo del gradiente coniugato . . . . . . . . . . . . . . . . 251.2.5 Criteri di arresto per metodi iterativi . . . . . . . . . . . . . 30

2 Equazioni non lineari 322.1 Metodo di bisezione . . . . . . . . . . . . . . . . . . . . . . . . . . . 332.2 Metodo di Newton . . . . . . . . . . . . . . . . . . . . . . . . . . . 36

2.2.1 Metodo di Newton semplice . . . . . . . . . . . . . . . . . . 362.2.2 Metodo di Newton modificato . . . . . . . . . . . . . . . . . 37

2.3 Risoluzione di sistemi non lineari . . . . . . . . . . . . . . . . . . . 392.4 Iterazioni di punto fisso . . . . . . . . . . . . . . . . . . . . . . . . . 40

2.4.1 Metodo di punto fisso per funzioni vettoriali . . . . . . . . . 43

I

Page 4: Appunti del corso di Metodi analitici e numerici...Politecnico di Milano Scuola di Ingegneria Industriale e dell’Informazione Corso di studi in Ingegneria Meccanica Appunti del corso

2.4.2 Metodo di Newton come iterazione di punto fisso . . . . . . 442.5 Criteri di arresto . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45

3 Approssimazioni di funzioni e dati 463.1 Interpolazione polinomiale . . . . . . . . . . . . . . . . . . . . . . . 48

3.1.1 Interpolazione polinomiale di Lagrange . . . . . . . . . . . . 493.1.2 Interpolazione polinomiale composita . . . . . . . . . . . . . 583.1.3 Interpolazione spline . . . . . . . . . . . . . . . . . . . . . . 61

3.2 Metodo dei minimi quadrati . . . . . . . . . . . . . . . . . . . . . . 62

4 Integrazione e derivazione numerica 674.1 Integrazione numerica . . . . . . . . . . . . . . . . . . . . . . . . . 67

4.1.1 Formula del punto medio . . . . . . . . . . . . . . . . . . . . 694.1.2 Formula dei trapezi . . . . . . . . . . . . . . . . . . . . . . . 724.1.3 Formula di Cavalieri-Simpson . . . . . . . . . . . . . . . . . 734.1.4 Formule interpolanti . . . . . . . . . . . . . . . . . . . . . . 744.1.5 Formule di quadratura gaussiane . . . . . . . . . . . . . . . 76

4.2 Derivazione numerica . . . . . . . . . . . . . . . . . . . . . . . . . . 784.2.1 Calcolo della derivata prima . . . . . . . . . . . . . . . . . . 794.2.2 Calcolo della derivata seconda . . . . . . . . . . . . . . . . . 81

5 Equazioni differenziali ordinarie 845.1 Problemi di Cauchy . . . . . . . . . . . . . . . . . . . . . . . . . . . 84

5.1.1 Problema modello . . . . . . . . . . . . . . . . . . . . . . . . 865.1.2 Soluzione all’equilibrio . . . . . . . . . . . . . . . . . . . . . 875.1.3 Esistenza e unicità soluzione del problema di Cauchy . . . . 895.1.4 Stabilità del problema di Cauchy . . . . . . . . . . . . . . . 91

5.2 Sistemi di equazioni differenziali . . . . . . . . . . . . . . . . . . . . 935.2.1 Equazioni differenziali ordinarie di ordine n . . . . . . . . . 945.2.2 Sistemi di equazioni differenziali vettoriali di ordine n . . . . 96

5.3 Metodi numerici per la risoluzione di ODE. . . . . . . . . . . . . . . 975.3.1 Risoluzione numerica dei problemi di primo ordine . . . . . . 975.3.2 Analisi degli errori e della stabilità . . . . . . . . . . . . . . 1015.3.3 Metodi di Runge-Kutta . . . . . . . . . . . . . . . . . . . . . 110

II

Page 5: Appunti del corso di Metodi analitici e numerici...Politecnico di Milano Scuola di Ingegneria Industriale e dell’Informazione Corso di studi in Ingegneria Meccanica Appunti del corso

5.3.4 Theta-Metodi . . . . . . . . . . . . . . . . . . . . . . . . . . 1145.3.5 Risoluzione di sitemi differenziali ordinari . . . . . . . . . . . 1155.3.6 Risoluzione numerica di problemi del secondo ordine . . . . 116

II Equazioni alle derivate parziali 120

6 Introduzione 1216.1 Equazioni alle derivate parziali . . . . . . . . . . . . . . . . . . . . . 1216.2 Condizioni al contorno . . . . . . . . . . . . . . . . . . . . . . . . . 1226.3 Serie di Fourier . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124

7 Problemi di diffusione 1277.1 L’equazione di diffusione . . . . . . . . . . . . . . . . . . . . . . . . 1277.2 L’equazione del calore . . . . . . . . . . . . . . . . . . . . . . . . . 1287.3 Problemi ben posti . . . . . . . . . . . . . . . . . . . . . . . . . . . 1297.4 Unicità della soluzione . . . . . . . . . . . . . . . . . . . . . . . . . 132

7.4.1 Problema monodimensionale . . . . . . . . . . . . . . . . . . 1327.4.2 Problema multidimensionale . . . . . . . . . . . . . . . . . . 135

7.5 Esistenza della soluzione . . . . . . . . . . . . . . . . . . . . . . . . 1377.5.1 Problema di Cauchy-Dirichlet . . . . . . . . . . . . . . . . . 1397.5.2 Problema di Cauchy-Neumann . . . . . . . . . . . . . . . . . 1497.5.3 Principio del massimo e stabilità . . . . . . . . . . . . . . . 157

7.6 Problema di diffusione reazione e trasporto . . . . . . . . . . . . . . 160

8 Problema di Laplace 1638.1 Unicità della soluzione . . . . . . . . . . . . . . . . . . . . . . . . . 1648.2 Esistenza della soluzione . . . . . . . . . . . . . . . . . . . . . . . . 168

8.2.1 Dominio rettangolare . . . . . . . . . . . . . . . . . . . . . . 1688.2.2 Dominio circolare . . . . . . . . . . . . . . . . . . . . . . . . 174

8.3 Proprietà funzioni armoniche . . . . . . . . . . . . . . . . . . . . . . 1818.3.1 Teorema della media . . . . . . . . . . . . . . . . . . . . . . 1828.3.2 Principio del massimo . . . . . . . . . . . . . . . . . . . . . 183

III

Page 6: Appunti del corso di Metodi analitici e numerici...Politecnico di Milano Scuola di Ingegneria Industriale e dell’Informazione Corso di studi in Ingegneria Meccanica Appunti del corso

III Problemi in forma debole 185

9 Introduzione alla forma debole 186

10 Elementi di analisi funzionale 18910.1 Spazi di Hilbert . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19010.2 Funzionali e forme . . . . . . . . . . . . . . . . . . . . . . . . . . . 199

11 Problemi variazionali astratti 20111.1 Problemi di Poisson . . . . . . . . . . . . . . . . . . . . . . . . . . . 203

11.1.1 Problema di Poisson-Dirichlet . . . . . . . . . . . . . . . . . 20411.1.2 Problema di Poisson-Neumann . . . . . . . . . . . . . . . . . 208

12 Metodo di Galërkin e approssimazione ad elementi finiti 21112.1 Metodo di Galërkin . . . . . . . . . . . . . . . . . . . . . . . . . . . 211

12.1.1 Analisi metodo di Galërkin . . . . . . . . . . . . . . . . . . . 21412.2 Metodo degli elementi finiti monodimensionale . . . . . . . . . . . . 218

12.2.1 Elementi finiti lineari . . . . . . . . . . . . . . . . . . . . . . 21912.2.2 Elementi finiti quadratici . . . . . . . . . . . . . . . . . . . . 223

12.3 Elementi finiti per il problema di Poisson . . . . . . . . . . . . . . . 22512.3.1 Problema di Poisson-Dirichlet . . . . . . . . . . . . . . . . . 22512.3.2 Problema di Poisson-Dirichlet-Robin . . . . . . . . . . . . . 231

12.4 Elementi finiti per il problema di diffusione reazione e trasportostazionario . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23412.4.1 Coefficienti costanti . . . . . . . . . . . . . . . . . . . . . . . 23412.4.2 Coefficienti non costanti . . . . . . . . . . . . . . . . . . . . 239

12.5 Elementi finiti per un problema di diffusione . . . . . . . . . . . . . 24112.6 Stima degli errori . . . . . . . . . . . . . . . . . . . . . . . . . . . . 243

IV Trasformate integrali 246

13 Trasformata di Fourier 24713.1 Integrale di Fourier . . . . . . . . . . . . . . . . . . . . . . . . . . . 24713.2 Proprietà trasformata di Fourier . . . . . . . . . . . . . . . . . . . . 253

IV

Page 7: Appunti del corso di Metodi analitici e numerici...Politecnico di Milano Scuola di Ingegneria Industriale e dell’Informazione Corso di studi in Ingegneria Meccanica Appunti del corso

13.3 Problemi differenziali . . . . . . . . . . . . . . . . . . . . . . . . . . 25713.3.1 Equazione di Laplace nel semipiano . . . . . . . . . . . . . . 25713.3.2 Problema di diffusione . . . . . . . . . . . . . . . . . . . . . 259

14 Trasformata di Laplace 26214.1 Proprietà trasformata di Laplace . . . . . . . . . . . . . . . . . . . 26314.2 Trasformata di Laplace per ODE . . . . . . . . . . . . . . . . . . . 268

A Codici di MATLAB® 271A.1 Risoluzione di sistemi lineari . . . . . . . . . . . . . . . . . . . . . . 271A.2 Equazioni non lineari . . . . . . . . . . . . . . . . . . . . . . . . . . 276A.3 Integrazione numerica . . . . . . . . . . . . . . . . . . . . . . . . . 279A.4 Risoluzione numerica di ODE . . . . . . . . . . . . . . . . . . . . . 281

V

Page 8: Appunti del corso di Metodi analitici e numerici...Politecnico di Milano Scuola di Ingegneria Industriale e dell’Informazione Corso di studi in Ingegneria Meccanica Appunti del corso

Elenco delle figure

2.1 Errori metodo bisezione . . . . . . . . . . . . . . . . . . . . . . . . 352.2 Esempio di punto fisso . . . . . . . . . . . . . . . . . . . . . . . . . 42

3.1 Polinomio di Lagrange . . . . . . . . . . . . . . . . . . . . . . . . . 533.2 Interpolazione funzione di Runge . . . . . . . . . . . . . . . . . . . 563.3 Interpolazione lineare composita . . . . . . . . . . . . . . . . . . . . 603.4 Interpolazione tramite metodo dei minimi quadrati . . . . . . . . . 63

4.1 Polinomi di Legendre . . . . . . . . . . . . . . . . . . . . . . . . . . 77

5.1 Aree di assoluta stabilità . . . . . . . . . . . . . . . . . . . . . . . . 111

12.1 Base a elementi finiti lineari . . . . . . . . . . . . . . . . . . . . . . 22112.2 Mappatura per elementi finiti lineari . . . . . . . . . . . . . . . . . 22312.3 Base a elementi finiti quadratici . . . . . . . . . . . . . . . . . . . . 22412.4 Base lineare per problema Posson-Dirichlet . . . . . . . . . . . . . . 22612.5 Derivata elementi finiti lineari . . . . . . . . . . . . . . . . . . . . . 22812.6 Base quadratica per problema Posson-Dirichlet . . . . . . . . . . . . 23012.7 Base per problema Posson-Dirichlet-Robin . . . . . . . . . . . . . . 23312.8 Base per problema di diffusione reazione e trasporto stazionario . . 23612.9 Elementi finiti per la matrice B . . . . . . . . . . . . . . . . . . . . 238

13.1 Funzione indicatrice e relativo spettro continuo . . . . . . . . . . . 25113.2 Esempio trasformata di Fourier . . . . . . . . . . . . . . . . . . . . 253

14.1 trasformata di Laplace di una costante . . . . . . . . . . . . . . . . 26414.2 Trasformata di Laplace dell’esponenziale . . . . . . . . . . . . . . . 264

VI

Page 9: Appunti del corso di Metodi analitici e numerici...Politecnico di Milano Scuola di Ingegneria Industriale e dell’Informazione Corso di studi in Ingegneria Meccanica Appunti del corso

14.3 Schema risoluzione ODE tramite trasformata di Laplace . . . . . . 269

VII

Page 10: Appunti del corso di Metodi analitici e numerici...Politecnico di Milano Scuola di Ingegneria Industriale e dell’Informazione Corso di studi in Ingegneria Meccanica Appunti del corso

Elenco delle tabelle

1 Tipologie di convergenza . . . . . . . . . . . . . . . . . . . . . . . . XIII2 Formati numerici di MATLAB® . . . . . . . . . . . . . . . . . . . . XV

1.1 Stime errori sistemi lineari . . . . . . . . . . . . . . . . . . . . . . . 16

3.1 Tipologie di interpolazioni composite . . . . . . . . . . . . . . . . . 60

4.1 Pesi e nodi di quadratura per la formula di Simpson . . . . . . . . . 754.2 Polinomi di Legendre . . . . . . . . . . . . . . . . . . . . . . . . . . 764.3 Nodi e pesi per la formula di quadratura di Gauss-Legendre . . . . 78

5.1 Errori metodi per la risoluzione di ODE. . . . . . . . . . . . . . . . 1045.2 Funzioni di stabilità . . . . . . . . . . . . . . . . . . . . . . . . . . . 109

8.1 Misure di intorni sferici . . . . . . . . . . . . . . . . . . . . . . . . . 183

13.1 Trasformate di Fourier notevoli . . . . . . . . . . . . . . . . . . . . 255

14.1 Trasformate di Laplace notevoli . . . . . . . . . . . . . . . . . . . . 266

VIII

Page 11: Appunti del corso di Metodi analitici e numerici...Politecnico di Milano Scuola di Ingegneria Industriale e dell’Informazione Corso di studi in Ingegneria Meccanica Appunti del corso

Elenco dei codici MATLAB®

A.1 Algoritmo della sostituzione in avanti per le matrici triangoli inferiori.271A.2 Algoritmo della sostituzione all’indietro per le matrici triangoli su-

periori. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 272A.3 Metodo del gradiente. . . . . . . . . . . . . . . . . . . . . . . . . . . 273A.4 Metodo del gradiente coniugato. . . . . . . . . . . . . . . . . . . . . 275A.5 Metodo di newton semplice. . . . . . . . . . . . . . . . . . . . . . . 276A.6 Metodo di newton modificato. . . . . . . . . . . . . . . . . . . . . . 277A.7 Metodo di newton per sistemi di equazioni non lineari. . . . . . . . 278A.8 Formula del punto medio composita. . . . . . . . . . . . . . . . . . 279A.9 Formula dei trapezi composita. . . . . . . . . . . . . . . . . . . . . 280A.10 Formula di Cavalieri-Simpson composita. . . . . . . . . . . . . . . . 280A.11 Metodo di Eulero avanti. . . . . . . . . . . . . . . . . . . . . . . . . 281A.12 Metodo di Eulero indietro. . . . . . . . . . . . . . . . . . . . . . . . 282A.13 Metodo di Crank Nicolson. . . . . . . . . . . . . . . . . . . . . . . . 282

IX

Page 12: Appunti del corso di Metodi analitici e numerici...Politecnico di Milano Scuola di Ingegneria Industriale e dell’Informazione Corso di studi in Ingegneria Meccanica Appunti del corso

X

Page 13: Appunti del corso di Metodi analitici e numerici...Politecnico di Milano Scuola di Ingegneria Industriale e dell’Informazione Corso di studi in Ingegneria Meccanica Appunti del corso

Introduzione

Al giorno d’oggi ci sono moltissimi problemi di interesse scientifico che vengonorisolti tramite l’ausilio di calcolatori, perché troppo difficili da risolvere a manooppure perché non esiste una soluzione analitica al quesito posto.

In generale, un problema scientifico viene risolto applicando un metodo siste-matico che permette di analizzare un particolare fenomeno fisico, capirne le causee prevede il suo comportamento. Tale tecnica, chiamata metodo scientifico, èstrutturata nel modo seguente:

Problema fisico Osservazione del fenomeno in natura, ipotesi sulle sue cause edeterminazione dei parametri che sono in grado di influenzarne il comporta-mento.

Problema matematico Al fine di risolvere il problema fisico viene introdotto unmodello matematico, tramite il quale vengono messe in correlazione le causecon gli effetti.

Problema numerico Molto spesso il problema matematico è troppo complessoda risolvere, pertanto viene introdotto un modello numerico di supporto cheil calcolatore è in grado di risolvere.

Il risultato di questo lavoro è una soluzione affetta da più o meno grandi appros-simazioni, che derivano in parte dalle semplificazioni apportate ai modelli mate-matici e numerici e in parte dai processi calcolo. Al netto di queste considerazioni,la soluzione trovata ha una grande validità in campo scientifico e ingegneristico;per questo motivo negli ultimi anni le tecniche di calcolo numerico sono divenutesempre più fondamentali e tuttora rappresentano molto spesso l’unica soluzionedisponibile alla risoluzione di problemi molto complessi.

XI

Page 14: Appunti del corso di Metodi analitici e numerici...Politecnico di Milano Scuola di Ingegneria Industriale e dell’Informazione Corso di studi in Ingegneria Meccanica Appunti del corso

Problemi ben posti

Prima di iniziare ad analizzare le procedure numeriche è bene introdurre alcuneterminologie utili a classificare i metodi.

Definizione 1 (Problema ben posto). Un problema numerico si dice ben posto, seesiste una sola soluzione che dipende con continuità dai dati.

Tale proprietà garantisce che a fronte di una piccola variazione dei dati in in-gresso non si abbiano delle divergenze incontrollate della soluzione numerica, mache vari in modo continuativo. Per identificare in termini quantitativi la perturba-bilità del sistema si fa uso di un parametro, chiamato numero di condizionamento.

Definizione 2 (Numero di condizionamento). Il numero di condizionamento è unparametro in grado di stimare la stabilità di un metodo numerico ed è definitocome:

k = supδd

∥δx∥/∥x∥∥δd∥/∥d∥

dove x è la soluzione e d il dato in ingresso.

Inoltre è utile definire una proprietà che metta in relazione i problemi mate-matici con i problemi numerici.

Definizione 3 (Problema numerico consistente). Un problema numerico vienedetto consistente quando converge al problema matematico:

limh→0

Fh(x, d) = F (x, d)

Mentre si dice che un problema è fortemente consistente quando il problemanumerico coincide con il problema matematico indipendentemente dal livello ditroncamento:

Fh(x, d) ≡ F (x, d) ∀h > 0

Definizione 4 (Problema numerico convergente). Un problema numerico si diceconvergente quando la soluzione converge alla soluzione del problema matematico:

limh→0

(x− xh) = limh→0

ec = 0

dove x è la soluzione esatta, xh quella numerica e ec l’errore.

XII

Page 15: Appunti del corso di Metodi analitici e numerici...Politecnico di Milano Scuola di Ingegneria Industriale e dell’Informazione Corso di studi in Ingegneria Meccanica Appunti del corso

Tabella 1: Principali tipologie di convergenza ordinate per velocità in modo crescente.

O(1) Nessuna dipendenza.

O(m) Dipendenza lineare da m.

O(mγ) Dipendenza polinomiale da m.

O(γm) Dipendenza esponenziale da m.

O(m!) Dipendenza fattoriale da m.

Ovviamente per dimostrare la convergenza di un certa tecnica serve conoscerela soluzione al problema dato, ma spesso non è possibile. L’idea è dunque quella diapplicare il metodo ad un problema noto, capire se vi è o meno convergenza e poiestendere questa proprietà anche a tutti gli altri casi. Infine è bene sottolineare cheesistono diverse tipologie di convergenza, che differiscono per la velocità con cui ilmetodo arriva alla soluzione: nella Tab. 1 sono riportate le principali tipologie.

Insieme numerico al calcolatore

Il calcolatore è una macchina che è in grado di eseguire un grande numero dioperazioni semplici in poco tempo. Essendo una macchina fisica non è dotatadella capacità di astrazione, pertanto ha la capacità di lavorare solamente conun insieme finito di numeri discreti: questo significa che vi saranno sempre unnumero massimo e un numero minimo e dei buchi tra due quantità consecutive. Sirende quindi necessario introdurre un nuovo insieme numerico, chiamato insiemedei Floating Point.

Definizione 5 (Insieme dei Floating Point F). Si chiama insieme dei FloatingPoint F(β, t, L, U) l’insieme dei numeri che possono essere scritti come:

x ∈ F ⇐⇒ x = (−1)smβe−t

dove s è il segno (0 pari, 1 disperi), m è la mantissa, t il numero di cifre nellamantissa, β la base (solitamente pari a 10) e e l’esponente.

XIII

Page 16: Appunti del corso di Metodi analitici e numerici...Politecnico di Milano Scuola di Ingegneria Industriale e dell’Informazione Corso di studi in Ingegneria Meccanica Appunti del corso

Da questa definizione risoluta chiaro che la minima differenza percettibile dalcomputer varia a seconda del numero, anche per questo è definito un parametro.

Definizione 6 (ε-macchina). Si chiama ε-macchina il numero più piccolo che ilcalcolatore può definire rispetto all’unità:

εm.= min

x∈F1 + x = 1

A questo punto è necessario trattare il problema dell’arrotondamento. Nonsempre infatti il risultato di un’operazione matematica appartiene all’insieme F,pertanto la macchina arrotonda automaticamente al numero rappresentabile pre-cedente o successivo. Tale errore, una volta generato si propaga anche in tutte leoperazioni successive.

Definizione 7 (Errore di arrotondamento). Si definisce errore di arrotondamentoil rapporto:

|x− fl(x)||x|

<1

2εm

dove x è il numero reale, mentre fl(x) il numero floating point ad esso più vicino.

Infine si presentano i problemi dell’underflow e dell’overflow. Questi si verifi-cano nel momento in cui il computer esegue un calcolo il cui il risultato è minoredella differenza più piccola o maggiore del numero più grande (in modulo) che essopuò memorizzare. Naturalmente quando si verifica uno di questi due fenomeni ilrisultato perde notevolmente di definizione.

Definizione 8 (Minimo e massimo dell’insieme F). Dato un insieme di nume-ri floatig point F(β, t, L, U) si ha che il numero massimo e il numero minimorappresentabili senza perdere di definizione sono pari a:

xmin = βL−1 xmax = βU(1− β−t)

È importante notare che per definire un insieme di numeri floating point è semprenecessario definire la mantissa β, il numero delle cifre della mantissa t e i dueestremi L e U (entrambi sempre positivi).

XIV

Page 17: Appunti del corso di Metodi analitici e numerici...Politecnico di Milano Scuola di Ingegneria Industriale e dell’Informazione Corso di studi in Ingegneria Meccanica Appunti del corso

Tabella 2: Principali formati per la visualizzazione del numero π all’internodell’ambiente MATLAB® (* opzione di default).

Tipologia notazione Comando Esempio

Corta* short 3.1416

Lunga long 3.141592653589793

Scientifica shorte 3.1416e+00

Scientifica lunga longe 3.141592653589793e+00

Rapporto rat 355/113

Teorema 1 (Cardinalità insieme F). Un insieme floating point F(β, t, L, U) hacardinalità pari a:

#F(β, t, L, U) = 2(β − 1)βt−1(U − L+ 1)

Nell’ambiente MATLAB® sono disponibili diverse tipologie per visualizzare unnumero; le principali sono riportate Tab. 2. Per passare da una notazione all’altraè sufficiente scrivere:

format comando

prima di eseguire un calcolo.

XV

Page 19: Appunti del corso di Metodi analitici e numerici...Politecnico di Milano Scuola di Ingegneria Industriale e dell’Informazione Corso di studi in Ingegneria Meccanica Appunti del corso

Parte I

Metodi numerici

1

Page 20: Appunti del corso di Metodi analitici e numerici...Politecnico di Milano Scuola di Ingegneria Industriale e dell’Informazione Corso di studi in Ingegneria Meccanica Appunti del corso

Capitolo 1

Risoluzione di sistemi lineari

La risoluzione dei sistemi lineari è un argomento di grande importanza nel cam-po dei problemi numerici, perché non solo serve a trovare la soluzione di tutti iproblemi di tipo lineare, ma è anche alla base di metodi ben più complessi chepermettono di risolvere le equazioni differenziali.

Si consideri dunque il sistema lineare:

Ax = b

dove la matrice A ∈ Rn×n e i vettori x,b ∈ Rn. Per il Teorema di Cramer, esisteuna sola soluzione x0 se la matrice A è non-singolare (ipotesi sotto cui verrannoanalizzati tutti il problemi presentati):

∃!x0 ∈ R ⇐⇒ detA = 0

e, sempre per lo stesso teorema, tale soluzione corrisponde a:

x0 = A−1b

Purtroppo il calcolo della matrice inversa A−1, necessita della matrice dei cofattori,che a sua volta si ottiene tramite il determinante di ognuna delle sottomatrici chein generale è molto lungo e complesso.

Un’alternativa consiste nell’applicare il metodo di Cramer, che riesce a calcolare

2

Page 21: Appunti del corso di Metodi analitici e numerici...Politecnico di Milano Scuola di Ingegneria Industriale e dell’Informazione Corso di studi in Ingegneria Meccanica Appunti del corso

le componenti del vettore x tramite il rapporto fra il determinate della matrice Bk

e il determinante della matrice A (dove la matrice Bk è ottenuta sostituendo lak-colonna della matrice A con il vettore dei temrini noti b).

xk =det(Bk)

det(A)Bk =

[a1 | . . . | ak−1 |b | ak+1 | . . . | an

]In questo caso sono quindi necessari solamente n+ 1 determinanti per risolvere ilsistema, ma anche in questo modo sono necessari enormi sforzi di calcolo.

Il problema nasce proprio dal calcolo del determinate di una matrice, chesecondo la regola di Laplace è pari a:

det(A) =n∑

j=1

(−1)i+jaij det(Aij) ∀i = 1, 2, . . . , n

in cui il termine Aij rappresenta la sottomatrice di A ottenuta eliminando la i-esima riga e la j-esima colonna mentre aij è l’elemento della matrice in posizione ij.Questa è una formula ricorsiva che ogni volta richiede di calcolare i di determinantidi ogni sottomatrice. Questo calcolo non è sostenibile a livello computazionale, poi-ché il numero di operazioni elementari (flops) necessarie a tale calcolo è dell’ordinedi:

#flops ∽ O(n!) (1.1)

e richiederebbe quindi un tempo enorme anche per risolvere un sistema di picco-lissime dimensioni. Per questi motivi vengono utilizzati altri metodi di risoluzionemolto più efficienti. Tali tecniche sono classificabili in due grandi macrogruppi:

Metodi diretti Metodi che arrivano alla soluzione esatta del sistema in un nu-mero finito di passaggi.

Metodi iterativi Metodi che giungono alla soluzione esatta solamente dopo unnumero infinito di passaggi; ovviamente ci si può accontentare di una solu-zione approssimata.

Ovviamente negli ambienti software che si usano tutti giorni queste tecni-che sono già implementate e non serve ogni volta scriverle da capo: ad esempio

3

Page 22: Appunti del corso di Metodi analitici e numerici...Politecnico di Milano Scuola di Ingegneria Industriale e dell’Informazione Corso di studi in Ingegneria Meccanica Appunti del corso

in MATLAB® è disponibile la funzione backslash che automaticamente sceglie ilmetodo più efficiente per risolvere il sistema lineare:

x = A\b

Nello specifico A è la matrice, b il vettore dei termini noti e x la soluzione del si-stema; essendo una moltiplicazione fra matrici è importantissimo che A moltiplichida sinistra.

1.1 Metodi diretti

Come già accennato nel paragrafo precedente, tali metodi giungono sempre allasoluzione esatta, al netto di eventuali errori di calcolo. Prima di procedere sianalizzano una serie di matrici più semplici da risolvere.

1.1.1 Risoluzione di sistemi diagonali

Queste sono in assoluto i sistemi lineari più facili da risolvere, poiché tutte leequazioni risultano disaccoppiate. Il problema si presenta come:

Dx = b

dove D è una matrice diagonale.

Definizione 1.1.1 (Matrice diagonale). Una matrice D ∈ Rn×n di dice diagonalese:

[D]ij = dij = 0 ⇐⇒ i = j

La soluzione di questi sistemi è immediata ed è si ottiene in esattamente n

passaggi:xi =

bidii

∀i = 1, 2, . . . , n

Inoltre tutte le matrici diagonali godono anche la seguente proprietà, chediscende direttamente dalle ipotesi fatte a inizio capitolo:

det(D) =n∏

i=1

dii = 0 ⇐⇒ dii = 0 ∀i = 1, 2, . . . , n (1.2)

4

Page 23: Appunti del corso di Metodi analitici e numerici...Politecnico di Milano Scuola di Ingegneria Industriale e dell’Informazione Corso di studi in Ingegneria Meccanica Appunti del corso

1.1.2 Risoluzione di sistemi triangolari

La seconda tipologia di sistemi facili da risolvere è costituita dai sistemi triangolari(inferiori o superiori); tali nomi derivano dalla forma che caratterizza la matriceA, cioè quella di un triangolo.

Definizione 1.1.2 (Matrice triangolare inferiore). Una matrice A ∈ Rn×n si dicetriangolare inferiore quando:

[A]ij = aij = 0 i > j

Ossia quando gli elementi della matrice A sopra la diagonale principale sono nulli.

Nonostante siano presenti molti più termini non nulli rispetto alla matrici dia-gonali (Paragrafo 1.1.1), è ancora possibile calcolare il determinante tramite lamoltiplicazione di tutti i termini presenti sulla diagonale e vale:

det(A) =n∏

i=1

aii = 0 ⇐⇒ aii = 0 ∀i = 1, 2, . . . , n (1.3)

Per risolvere questi sistemi viene solitamente adottato l’algoritmo della sosti-tuzione in avanti (o forward substitution), leggermente più complesso rispetto alprecedente.

L’idea è quella di risolvere la prima equazione, la cui soluzione è immediata per-ché è disaccoppiata da tutte le altre. A questo punto si può sfruttare l’informazioneappena trovata per disaccoppiare e risolvere la seconda e così via. . . l’algoritmofinale risulta quindi:

x1 =b1a11

Per i = 2, 3, . . . , n

xi =1

aii

(bi −

i−1∑j=1

aijxj

)

Per risolvere il sistema sono quindi necessarie n divisioni (una per ogni riga)ed un numero di somme e sottrazioni che è pari a zero al primo passaggio aumenta

5

Page 24: Appunti del corso di Metodi analitici e numerici...Politecnico di Milano Scuola di Ingegneria Industriale e dell’Informazione Corso di studi in Ingegneria Meccanica Appunti del corso

di un’unità ad ogni incremento di i:

#flops = n+ 2n∑

i=1

(i− 1) = n+ 2n(n− 1)

2= n2 (1.4)

Tale algoritmo gode quindi di un’efficienza molto superiore al metodo di riso-luzione di Cramer, che ha ordine di grandezza O(n!) (Eq. (1.1)), per cui riesce arisolvere sistemi lineari con un gran numero di equazioni in pochi istanti.

Tutte le considerazioni appena descritte per i sistemi e le matrici triangolariinferiori possono essere riutilizzate per risolvere i sistemi triangolari superiori.

Definizione 1.1.3 (Matrice triangolare superiore). Una matrice A ∈ Rn×n si dicetriangolare superiore quando:

[A]ij = aij = 0 i < j

Ossia quando gli elementi della matrice A sotto la diagonale principale sono nulli.

Ancora si disaccoppiano una a una le equazioni, ma in questo caso si inizia conl’ultima equazione e si termina con la prima. L’algoritmo necessario per questaoperazione prende il nome di sostituzione all’indietro (o backward substitution) edè definito nel modo seguente:

xn =bnann

Per i = n− 1, n− 2, . . . , 1

xi =1

aii

(bi −

n∑j=i+1

aijxj

)

Dato che questo procedimento è del tutto analogo al precedente, si può facil-mente dimostrare che il numero di operazioni necessarie al completamento dellarisoluzione è O(n2) (crf. Eq. (1.4)).

1.1.3 Fattorizzazione LU e metodo di eliminazione di Gauss

Molto spesso le matrici sono più complicate dei casi appena visti: esse infatti risul-tano piene o comunque non organizzate a triangolo. Per risolvere questo problema

6

Page 25: Appunti del corso di Metodi analitici e numerici...Politecnico di Milano Scuola di Ingegneria Industriale e dell’Informazione Corso di studi in Ingegneria Meccanica Appunti del corso

si fa largo uso del metodo di fattorizzazione LU, che consiste nel costruire due ma-trici L e U (con L,U ∈ Rn×n) tali che A = LU. In particolare si ricercano le duematrici facendo in modo che L sia triangolare inferiore e U triangolare superiore;una volta trovate si possono risolvere i sistemi:

Ax = L(Ux) = Ly = b −→

Ly = b per trovare y

Ux = y per trovare x(1.5)

Chiaramente il sistema Ly = b è risolvibile con il metodo di sostituzione in avantie Ux = y con la sostituzione all’indietro.

Prima di procedere al calcolo delle due matrici è bene riflettere sulle condi-zioni di esistenza della fattorizzazione LU. A tal fine, vengono qui proposte delledefinizioni utili a definire le condizioni di esistenza per la fattorizzazione.

Definizione 1.1.4 (Matrice definita positiva). Una matrice A ∈ Rn×n si definiscedefinita positiva se:

zTAz > 0 ∀z ∈ Rn\0

Una definizione simile può essere scritta per le matrici definite negative sem-plicemente sostituendo il maggiore stretto con un minore stretto all’interno delladefinizione. Stesso discorso vale per le matrici definite semipositive o seminega-tive, in cui si trova nella definizione una disuguaglianza semplice al posto di unadisuguaglianza stretta.

Definizione 1.1.5 (Matrice a dominanza diagonale per righe). Una genericamatrice A ∈ Rn×n si dice a dominanza diagonale per righe quando:

|aii| ≥n∑

j=1j =i

|aij| ∀i = 1, 2, . . . , n

Definizione 1.1.6 (Matrice a dominanza diagonale per colonne). Una genericamatrice A ∈ Rn×n si dice a dominanza diagonale per colonne quando:

|aii| ≥n∑

j=1j =i

|aji| ∀i = 1, 2, . . . , n

7

Page 26: Appunti del corso di Metodi analitici e numerici...Politecnico di Milano Scuola di Ingegneria Industriale e dell’Informazione Corso di studi in Ingegneria Meccanica Appunti del corso

Teorema 1.1.1 (Condizione necessaria e sufficiente per fattorizzazione LU). Datauna matrice A ∈ Rn×n non-singolare esiste una sola fattorizzazione LU se e solose le sottomatrici principali di nord-ovest Ai sono tutte non-singolari.

∃!A = LU ⇐⇒ det(Ai) = 0 ∀i = 1, 2, . . . , n

Questa condizione è difficile da verificare, perché, come si è visto all’iniziodel capitolo, calcolare il determinante è molto costoso. Pertanto vi è un secondoteorema che identifica le condizioni sufficienti, ma non necessarie per avere lafattorizzazione.

Teorema 1.1.2 (Condizione sufficiente per fattorizzazione LU). Data una matriceA ∈ Rn×n non-singolare esiste una sola fattorizzazione LU se una delle seguentiaffermazioni è verificata:

1. A è simmetrica e definita positiva (Def. 1.1.4);

2. A è a dominanza diagonale stretta per righe (Def. 1.1.5);

3. A è a dominanza diagonale stretta per colonne (Def. 1.1.6);

Da notare che per far valere il Teo. 1.1.2 non basta avere una disuguaglianzagenerica, ma è richiesta una disuguaglianza stretta.

A questo punto il problema si è spostato su come trovare le matrici L e U; percapire come fare, si consideri una matrice A ∈ R2×2:

A =

[a11 a12

a21 a22

]=

[l11 0

l21 l22

][u11 u12

0 u22

]

Si può facilmente notare che si sta cercando di determinare sei elementi con sola-mente quattro equazioni disponibili. In particolare eseguendo il prodotto matricialesi ottiene il seguente sistema sotto determinato:

a11 = l11u11

a12 = l11u12

a21 = l21u11

a22 = l21u12 + l22u22

8

Page 27: Appunti del corso di Metodi analitici e numerici...Politecnico di Milano Scuola di Ingegneria Industriale e dell’Informazione Corso di studi in Ingegneria Meccanica Appunti del corso

Questo ragionamento può essere esteso a una matrice generica A ∈ Rn×n: in questocaso si hanno a disposizione n2 vincoli, per determinare n2 + n incognite. Si haquindi la possibilità di determinare a priori n elementi delle matrici L e U; perconvenzione si assume che:

lii = 1 ∀i = 1, 2, . . . , n

Si ottiene quindi una matrice L che non solo è diagonale inferiore, ma che ha ancheha tutti gli elementi pari a 1 sulla diagonale principale. Sotto questa ipotesi si puòdimostrare che le matrici L e U vengono calcolare con il metodo di eliminazione diGauss (MEG.), in particolare, ad ogni iterazione si riarrangia la matrice A al finedi farla diventare una matrice triangolare superiore, determinando volta per voltauna colonna di L.

A = A(0) −→↓

[L]i,1

A(1) −→↓

[L]i,2

A(2) −→↓

[L]i,3

. . . −→↓

[L]i,n

A(n) = U

Pertanto la generica matrice A(k) avrà questo tipo di struttura:

A(k) =

a(k)11 . . . a

(k)1n

0 a(k)22 . . . a

(k)2n

0. . .

a(k)kk . . . a

(k)kn

... ... ... . . .0 0 . . . a

(k)nk . . . a

(k)nn

(1.6)

in cui si può ben distinguere il blocco non ancora lavorato di termini non nulliin basso a destra e la matrice diagonale superiore finita, che avanza da sinistra adestra ad ogni iterazione.

Definizione 1.1.7 (Elementi pivotali). Tutti gli elementi a(k)kk della matrice A(k)

dell’Eq. (1.6) si chiamano elementi pivotali.

Se tutti gli elementi pivoltali della matrice generica A ∈ Rn×n sono non nulli,

9

Page 28: Appunti del corso di Metodi analitici e numerici...Politecnico di Milano Scuola di Ingegneria Industriale e dell’Informazione Corso di studi in Ingegneria Meccanica Appunti del corso

allora si può definire l’algoritmo del MEG.:

A(1) = A

Per k = 1, 2, . . . , n− 1

lik =a(k)ik

a(k)kk

∀i = k + 1, . . . , n

a(k+1)ij = a

(k)ij − lika

(k)kj

∀i = k + 1, . . . , n

∀j = k, . . . , n

È interessante notare che per calcolare gli elementi lik sono necessari due cicli an-nindati, mentre per sistemare gli elementi a(k+1)

ij ne servono tre. Si può dimostrareche per eseguire questo tipo di lavoro sono necessari un numero di cicli dell’ordi-ne di O(n3/3), di conseguenza le sostituzioni in avanti e all’indietro necessarie perrisolvere il sistema lineare diventano trascurabili. Infine, se si deve lavorare conuna matrice A è di dimensione molto elevata, è possibile, al fine di risparmiarespazio occupato, sovrasciverla ad ogni passaggio, in modo che tutti gli elementisulla diagonale e sopra di essa siano gli elementi della matrice U, mentre quellial di sotto della diagonale siano i coefficienti della matrice L (questo è possibilesolamente perché tutti gli elementi diagonali della matrice L sono noti e pari auno).

La tecnica del pivoting

Questo algoritmo è una variante del MEG. ed è utilizzato nel caso in cui, al fine dideterminare la fattorizzazione LU di una matrice, sia presente un termine pivotalenullo. Si sa per certo che la matrice ha almeno un pivot diverso da zero ad ognipassaggio, altrimenti la matrice stessa sarebbe singolare (evento che si è esclusonelle ipotesi iniziali).

Il meccanismo alla base di questo metodo è quello di effettuare delle permu-tazioni sulla matrice A, atte a scambiare le sue righe, in modo che sia semprepossibile controllare l’elemento pivotale. Per fare ciò, basta moltiplicare A e ilvettore dei termini noti per una matrice P, detta di permutazione; a questo puntoè necessario rivedere la risoluzione dei sitemi presenti nell’Eq. 1.5, modificandoli

10

Page 29: Appunti del corso di Metodi analitici e numerici...Politecnico di Milano Scuola di Ingegneria Industriale e dell’Informazione Corso di studi in Ingegneria Meccanica Appunti del corso

in questo modo:

PAx = L(Ux) = Ly = Pb −→

Ly = Pb per trovare y

Ux = y per trovare x(1.7)

La tecnica del pivoting serve anche a ridurre la perdita di precisione nei calcoli.Nello specifico si può dimostrare che conviene utilizzare l’elemento pivotale dimodulo massimo tra tutti quelli disponibili, a(k)mk:

a(k)kk = max

m=k,...,n|a(k)mk|

A questo punto occorre scambiare la k-esima con la m-esima riga e per farlo ser-va la matrice P adatta. Tale matrice è una matrice di zeri, su cui vengono inseritidegli 1 nella posizione corrispondente di ogni elemento pivotale estratto. La ma-trice P ha anche le proprietà di essere simmetrica, ortogonale e aver determinantepari a uno.

P = PT = P−1 det(P) = 1

Nell’ambiente MATLAB® è disponibile la funzione di fattorizzazione LU, chepermette di calcolare velocemente le matrici L U e P tramite il MEG.:

[L U P] = lu(A)

Si ricorda che generalmente conviene usare la fattorizzazione LU solo quando iltermine noto b cambia molte volte, mentre la matrice A rimane costante, altri-menti è più conveniente usare direttamente il MEG., perché ha un minor costocomputazionale.

11

Page 30: Appunti del corso di Metodi analitici e numerici...Politecnico di Milano Scuola di Ingegneria Industriale e dell’Informazione Corso di studi in Ingegneria Meccanica Appunti del corso

1.1.4 Algoritmo di Thomas

Questo algoritmo viene utilizzato per risolvere una particolare classe di sistemilineari: quelli caratterizzati da una matrice di tipo tridiagonale.

A =

a1 c1 0 . . . 0

e2 a2 c2 0

0 e3 a3 c3 0

0. . . . . . . . .

... cn−1

0 en an

Supponendo che esista la fattorizzazione LU della matrice A, allora si ottengono:

L =

1 . . . 0

β2 1... . . . . . . ...0 . . . βn 1

U =

α1 c1 . . . 0

α1. . .

... . . . ...0 . . . α1

Come si può facilmente notare, le matrici L e U sono molto più semplici rispettoa prima, perché contengono molti più zeri, e per questa ragione si avranno gradisemplificazioni sull’algoritmo:

α1 = a1

Per i = 1, 2, . . . , n

βi =ei

αi−1

αi = ai − βici−1

Inoltre anche la risoluzione dei due sistemi risulta molto semplificata:

Ly = b −→

y1 = b1

yi = bi − βi − yi−1 i = 2, 3, . . . , n

12

Page 31: Appunti del corso di Metodi analitici e numerici...Politecnico di Milano Scuola di Ingegneria Industriale e dell’Informazione Corso di studi in Ingegneria Meccanica Appunti del corso

Ux = y −→

xn = ynαn

ii =1αi

[yi − cixi+1

]i = n− 1, n− 2, . . . , 1

Come si può facilmente dimostrare l’algoritmo di Thomas richiede un numerodi flops necessari dell’ordine di grandezza di O(n), che è indice di una notevoleefficienza.

1.1.5 Fattorizzazione di Cholesky

La fattorizzazione di Cholesky è applicabile a tutte le matrici A ∈ Rn×n simmetri-che e definite positive. Tale procedimento serve per determinare un’unica matriceR tale che:

A = RRT

dove R è una matrice triangolare superiore, con elementi positivi sulla diagonale.L’algoritmo necessario è quindi:

Per i = 1, 2, . . . , n

rii =

√√√√aii −i−1∑k=1

r2ki

rij =1

rii

[aij −

i−1∑k=1

rkirkj

]∀j = i+ 1, . . . , n

Il fatto di implementare una sola matrice fa risparmiare molta memoria (la metàrispetto alla fattorizzazione LU). Purtroppo non si hanno grandi benefici per quan-to concerne all’utilizzo delle risorse computazionali: infatti il costo del processo èdell’ordine di grandezza di O(n3/3).

1.1.6 Accuratezza della soluzione con metodi diretti

Il più grande problema dei metodi diretti è senza dubbio la propagazione degli erro-ri computazionali. Definiamo quindi delle operazioni e grandezze che permettonodi controllare questo problema.

13

Page 32: Appunti del corso di Metodi analitici e numerici...Politecnico di Milano Scuola di Ingegneria Industriale e dell’Informazione Corso di studi in Ingegneria Meccanica Appunti del corso

Definizione 1.1.8 (Norma di un vettore). La norma ρ di un vettore v ∈ Rn èdefinita come:

∥v∥ρ =( n∑

i=1

|vi|ρ)1/ρ

Quindi secondo questa definizione, la norma 1 è la somma di tutti i valori asso-luti delle componenti di v, mentre la norma ∞ è pari al modulo della componentedi magnitudine massima.

Definizione 1.1.9 (Autovalori e autovettori). Data una matrice A ∈ Rn×n sichiamano autovettori λi(A)ni=1 ⊂ C e autovalori xi(A)ni=1 ⊂ Cn della matriceA le quantità definite come:

Axi = λixi ∀i = 1, 2, . . . , n

Analiticamente, è possibile calcolare gli autovalori di A risolvendo il polinomiop(λ) di grado n che si ottiene come:

Ax = λx

Ax− λIx = 0

(A − λI)x = 0

p(λ) ∈ Pn : det(A − λI) = 0

Da notare che gli autovalori di una matrice diagonale (Def. 1.1.1), triangolareinferiore (Def. 1.1.2) o triangolare superiore (Def. 1.1.3) sono gli elementi presentisulla diagonale principale.

Inoltre per una generica matrice A ∈ Rn×n invertibile vale la seguente proprietà:

λi(A−1) =1

λn+1−i(A)∀i = 1, 2, . . . , n (1.8)

Definizione 1.1.10 (Raggio spettrale). Sia A ∈ Cn×n e siano λi(A)ni=1 ⊂ C isuoi autovettori, si chiama raggio spettrale l’autovalore di modulo massimo:

ρ(A) = maxi=1,...,n

|λi(A)|

14

Page 33: Appunti del corso di Metodi analitici e numerici...Politecnico di Milano Scuola di Ingegneria Industriale e dell’Informazione Corso di studi in Ingegneria Meccanica Appunti del corso

Teorema 1.1.3 (Autovalori per matrice definita positiva). Data una matriceA ∈ Rn×n simmetrica e definita positiva, i suoi autovalori sono tutti numeri realipositivi:

λi(A)ni=1 ⊂ R+

Definizione 1.1.11 (Norma-P di una matrice). Si definisce norma-P, con P ≥ 1

di una matrice A ∈ Rn×n il numero reale positivo dato da:

∥A∥P = supv∈Rn\0

[∥Av∥P∥v∥P

]= sup

u∈Rn\0∥u∥2=1

∥Au∥P

Dalla Def. 1.1.11 si può ricavare che data la generica matrice A ∈ Rn×n:

∥A∥2 =√

λmax(ATA)

e se inoltre la matrice A è definita positiva si ha che:

∥A∥2 = λmax(A)

Definizione 1.1.12 (Numero di condizionamento). Data una matrice A ∈ Rn×n

non-singolare si definisce numero di condizionamento di A in norma P come:

KP = ∥A∥P

∥∥A−1∥∥

P P ∈ [0,+∞)

Dalla Def. 1.1.12 si può ottenere imponendo P = 2:

K2 = ∥A∥2∥∥A−1

∥∥2=

√λmax(ATA)

λmin(ATA)

Inoltre se det(A) = 0 si ha che per definizione K2 → ∞ poiché λmin = 0.

Definizione 1.1.13 (Numero di condizionamento spettrale). Data una matri-ce A ∈ Rn×n non-singolare si definisce numero di condizionamento spettrale laquantità:

K(A) = ρ(A)ρ(A−1) =max|λi(A)|min|λi(A)|

15

Page 34: Appunti del corso di Metodi analitici e numerici...Politecnico di Milano Scuola di Ingegneria Industriale e dell’Informazione Corso di studi in Ingegneria Meccanica Appunti del corso

Tabella 1.1: Principali stime per l’errore sulla soluzione di sistemi lineari.

Errore assoluto e = x− x e ∈ Rn

Errore relativo er =∥e∥∥x∥ er ∈ R, x = 0

Residuo r = b− Ax r ∈ Rn

Residuo normalizzato rr =∥r∥∥b∥ rr ∈ R, b = 0

Ora che sono state definite tutte i parametri utili, si può dire che:

1. Il numero di condizionamento di una matrice quantifica la sensibilità delsistema lineare associata a piccole variazioni dei dati.

2. Un sistema lineare è ben condizionato quando ha K2(A) piccolo (1÷ 103); incaso contrario si dice che il sistema è mal condizionato.

Un esempio di matrice mal condizionata è fornito dalla matrice di Hilbert, definitacome: [

H]ij=

1

i+ j∀i, j = 1, 2, . . . , n

Per questa matrice, anche mantenendo un numero di righe e colonne relativamentebasso si hanno enormi numeri di condizionamento. Ad esempio se n = 10 la matriceha un numero di condizionamento pari a 1,6025× 1013.

Si supponga quindi di perturbare i dati di un sistema lineare, tramite piccolevariazioni della matrice δA e del vettore dei termini noti δb, per valutare la stabilitàdella soluzione.

Ax = b −→ (A + δA)x = b+ δb

Generalmente si ha che la soluzione numerica x differisce dalla soluzione nume-rica x. Per questo sono necessarie delle grandezze in grado di stimare in modoquantitativo l’errore commesso: nella Tab. 1.1 sono riportati i principali indica-tori utilizzati. Purtroppo non sempre è possibile usare tutti questi indicatori: adesempio si deve risolvere un sistema la cui soluzione non è nota, non è possibileusare né l’errore assoluto né l’errore relativo come stima.

16

Page 35: Appunti del corso di Metodi analitici e numerici...Politecnico di Milano Scuola di Ingegneria Industriale e dell’Informazione Corso di studi in Ingegneria Meccanica Appunti del corso

Nonostante tutto è sempre possibile avere una stima di massima dell’errore, infunzione del numero di condizionamento (Def. 1.1.12) dalla matrice A:

er ≤1

1−K2(A)∥δA∥2∥A∥2

[∥δA∥2∥A∥2

+∥δb∥2∥b∥2

]

Quindi se non ci sono fluttuazioni dei coefficienti della matrice del sistema lineareδA = 0 si ottiene:

er ≤ K2(A)rr

Da questo nasce il principio per cui per sistemi lineari mal condizionati, caratte-rizzati quindi da numeri di condizionamento K2(A) alti, anche a fronte di residuipiccoli, si hanno grandi errori.

1.2 Metodi iterativi

Un metodo iterativo punta a risolvere un sistema lineare assegnato tramite unaserie di passaggi per cui:

x = limk→+∞

x(k)

dove x è la soluzione esatta, mentre x(k), chiamata iterata di ordine k, è la soluzioneottenuta al k-esimo passaggio: inoltre l’insieme di tute le iterate x(k)+∞

k=1 è lasuccessione di iterazioni. Si ricorda che la soluzione esatta del sistema lineare èteoricamente raggiungibile solo al termine di un infinto numero di passaggi: neconsegue che è necessario fermarsi dopo che si è raggiunto un livello di accuratezzaappropriato al problema.

Schema generale dei metodi iterativi

Si consideri una matrice A ∈ Rn×n, sempre non-singolare. Assegnato in modoarbitrario un generico vettore x(0) ∈ Rn, per k = 1, 2, . . . si dice che:

x(k+1) = Bx(k) + g (1.9)

17

Page 36: Appunti del corso di Metodi analitici e numerici...Politecnico di Milano Scuola di Ingegneria Industriale e dell’Informazione Corso di studi in Ingegneria Meccanica Appunti del corso

dove B è la matrice di iterazione e g il vettore di iterazione. Affinché il metodoiterativo converga alla soluzione deve valere l’ipotesi di consistenza forte (Def. 3 apagina XII), che implica che devono valere le seguenti equazioni:

x = A−1b x = Bx+ g

Tramite opportune sostituazioni e possibile ricavare g in funzione di B:

g = x− Bx = (I − B)x = (I − B)A−1b

Naturalmente, si può anche definire l’errore e il residuo al passaggio k:

e(k) = x− x(k) r(k) = b− Ax(k)

e sfruttando l’Eq. (1.9) anche l’errore al passaggio successivo; inoltre reiterandol’operazione ci si può riportare ai dati iniziali:

e(k+1) = x− x(k+1) = (Bx+ g)− (Bx(k+1) + g) = Be(k) = · · · = Bke(0)

Per avere la convergenza alla soluzione l’errore si deve ridurre con l’aumentaredelle iterazioni: ∥∥e(k)∥∥ ≤ ∥Bk∥2∥e

(0)∥ per k = 1, 2, . . . (1.10)

Data quindi una matrice B definita positiva, per ipotesi, si ottiene:

∥∥e(k)∥∥ ≤ [ρ(B)]k∥e(0)∥ per k = 1, 2, . . .

limk→+∞

∥e(0)∥ = 0 ⇐⇒ ρ(B) < 1

Con i passaggi precedenti si è dimostrato che la condizione necessaria e sufficienteper la convergenza del metodo a x soluzione del sistema lineare Ax = b, assegnatoun vettore arbitrario x(0) ∈ Rn, è che il raggio spettrale (Def. 1.1.10) della matriced’iterazione sia minore di uno:

ρ(B) < 1

18

Page 37: Appunti del corso di Metodi analitici e numerici...Politecnico di Milano Scuola di Ingegneria Industriale e dell’Informazione Corso di studi in Ingegneria Meccanica Appunti del corso

In più, tanto più e piccolo il raggio spettrale ρ(B) → 0, tanto più è rapida laconvergenza.

1.2.1 Metodo di Jacobi

Si consideri una matrice A ∈ Rn×n sempre non singolare e con tutti gli elementisulla diagonale non nulli:

aii = 0 ∀i = 1, 2, . . . , n

Il metodo di Jacobi consiste nel prendere una matrice di precondizionamento PJ

diagonale (cioè una trasformazione atta a migliorare il numero di condizionamentodella matrice A) tale per cui:

PJ =

a11 0 . . . 0

0 a22... . . . ...0 . . . ann

Da questo deriva che:

BJ = I − P−1J A = I − D−1

J A

Di conseguenza si ha che:

x(k+1) = Bx(k) + P−1J b

Infine, l’algoritmo di Jacobi è pari a:

x(0) ∈ Rn arbitrario

Per k = 1, 2, 3 . . .

Per i = 1, 2, . . . , n

x(k+1)i =

1

aii

[bi −

n∑j=1j =i

aijx(k)j

]

19

Page 38: Appunti del corso di Metodi analitici e numerici...Politecnico di Milano Scuola di Ingegneria Industriale e dell’Informazione Corso di studi in Ingegneria Meccanica Appunti del corso

Teorema 1.2.1 (Convergenza sufficiente al metodo di Jacobi). La condizionesufficiente (ma non necessaria) per risolvere un sistema con il metodo di Jacobi èche la matrice A ∈ Rn×n sia a dominanza diagonale stretta per righe (Def. 1.1.5 apagina 7) oppure simmetrica e definita positiva.

1.2.2 Metodo di Gauss-Seidel

Anche per il metodo di Gauss-Seidel si ha una matrice di precondizionamento PGS.Per prima cosa si scompone la matrice A in una somma di tre matrici:

A = D − E − F

In particolare, sulla matrice D sono presenti solamente le componenti della diago-nale di A, sulla matrice E tutti gli elementi sotto la diagonale di A cambiati disegno e infine sulla matrice F tutti gli elementi sopra la diagonale di A (in entrambii casi la diagonale è escusa!).

La matrice di precondizionamento è pari a:

PGS = D − E

In tal modo la matrice di iterazione sarà pari a:

BGS = I − (D − E)−1A

Ne segue quindi che:

(D − E)x(k+1) = (D − E − A)x(k) + b = y(k)

20

Page 39: Appunti del corso di Metodi analitici e numerici...Politecnico di Milano Scuola di Ingegneria Industriale e dell’Informazione Corso di studi in Ingegneria Meccanica Appunti del corso

Infine, l’algoritmo di Gauss-Seidel è:

x(0) ∈ Rn arbitrario

Per k = 1, 2, 3 . . .

Per i = 1, 2, . . . , n

x(k+1)i =

1

aii

[bi −

i−1∑j=1

aijx(k+1)j −

n∑j=i+1

aijx(k)j

]

Importantissimo notare che l’algoritmo non è in alcun modo implicito, poiché tuttele componenti x(k+1)

j sono già state calcolate.Esattamente come per il metodo di Jacobi, si ha che la condizione sufficiente,

ma non necessaria è avere una matrice A o simmetrica e definita positiva, oppurea dominanza diagonale stretta per righe.

1.2.3 Metodo del gradiente

Il metodo del gradiente (semplice) è un metodo iterativo per risolvere i sistemilineari. L’idea alla base è quella di trovare una funzione opportuna il cui unicominimo coincide con la soluzione del sistema lineare. Il metodo richiede che lamatrice A ∈ Rn×n sia:

• non singolare det(A) = 0;

• simmetrica A = AT;

• definita positiva vTAv > 0 ∀v.

Definizione 1.2.1 (Norma dell’energia). Sia v ∈ Rn e A ∈ Rn×n simmetrica edefinita positiva. Si chiama norma dell’energia di v, rispetto alla matrice A laquantità:

∥v∥A =√vTAv

Applicando la Def. 1.2.1 al sistema lineare Ax = b si ottiene l’energia delsistema come:

ϕ(y) =1

2yTAy − yTb (1.11)

21

Page 40: Appunti del corso di Metodi analitici e numerici...Politecnico di Milano Scuola di Ingegneria Industriale e dell’Informazione Corso di studi in Ingegneria Meccanica Appunti del corso

Teorema 1.2.2 (Relazione metodo del gradiente con l’energia del sistema). Ilvettore x è soluzione del sistema lineare Ax = b se e solo se è punto di minimoassoluto dell’energia del sistema ϕ(y).

x ∈ Rn soluzione di Ax = b ⇐⇒ ϕ(x) = miny∈Rn

ϕ(y)

Dimostrazione 1.2.1 (x è soluzione ⇒ ϕ(y) è minimo assoluto). Si consideri laquantità y = x+ e, dove e è un generico incremento. L’energia associata è pari a:

ϕ(y) =1

2(x+ e)TA(x+ e)− (x+ e)Tb

=1

2xTAx+

1

2xTAe+

1

2eTAx+

1

2eTAe− xTb− eTb

=1

2xTAx− xTb︸ ︷︷ ︸

=ϕ(x)

+1

2eTAe︸ ︷︷ ︸

= 12∥e∥A

+1

2xTAe︸ ︷︷ ︸

k∈R⇒k=kT

+1

2eTAx− eTb

= ϕ(x) +1

2∥e∥A +

(1

2xTAe

)T

+1

2eTAx− eTb

= ϕ(x) +1

2∥e∥A +

1

2eT AT︸︷︷︸

AT=A

x+1

2eTAx− eTb

= ϕ(x) +1

2∥e∥A +

1

2eTAx+

1

2eTAx− eTb

= ϕ(x) +1

2∥e∥A + eT (Ax− b

)︸ ︷︷ ︸=0 (soluz.)

= ϕ(x) +1

2∥e∥A ≥ ϕ(x)

Quindi si è dimostrato che ϕ(x) è punto di minimo assoluto e, inoltre, essendo∥e∥2 una norma, ϕ(y) = ϕ(x) ⇐⇒ ∥e∥2 = 0, ma ciò implica che x = y.

Dimostrazione 1.2.2 (ϕ(y) è minimo assoluto ⇒ x è soluzione). Si consideri ungenerico vettore y ∈ Rn il funzionale dell’energia del sistema ad esso associato èpari a:

ϕ(y) =1

2yTAy − yTb =

1

2

n∑i,j=1

yiaijyj −n∑

i=1

yibi

dato che x è minimo quindi, per il Teorema di Fermat, deve anche essere un punto

22

Page 41: Appunti del corso di Metodi analitici e numerici...Politecnico di Milano Scuola di Ingegneria Industriale e dell’Informazione Corso di studi in Ingegneria Meccanica Appunti del corso

stazionario; questo implica che la funzione ha gradiente nullo nel punto x:

∇ϕ(y)∣∣x= 0

A sua volta questo implica che tutte le componenti di ϕ(y) si annullano nel punto.Riscrivendo poi la funzione descitta dall’Eq. (1.11) come somma di n componetentie derivando la generica k-esima nel punto si ottiene:

ϕ(y) =1

2yTAy − yTb =

1

2

n∑i,j=1

yiaijyj −n∑

i=1

yib1

∂ϕ(y)

∂yk=

1

2

n∑j=1

akjyj +1

2

n∑i=1

yiaik − bk

=n∑

j=1

akjyj − bk

dove al penultimo passaggio si è sfruttata la simmetria della matrice A per scam-biare gli indici liberi delle componenti (da questo segue che akj = aik). Infine datoche tutte le n componeteti devono annullarsi nel punto si ottiene:

∇ϕ(y)∣∣x=

n∑j=1

akjxj − bk

n

k=1

= Ax− b = 0 (1.12)

Inoltre, riscrivendo l’Eq. (1.12) per un generico x(k) si ha che:

∇ϕ(x(k)) = Ax(k) − b = −r(k)

Il metodo del gradiente fa in modo che ad ogni iterazione la funzione ϕ(y)

tenda al suo minimo assoluto: per farlo viene calcolato il gradiente della funzionee cambiato di segno (in modo che indichi la direzione di massima decrescita); aquesto punto basta moltiplicare per uno scalare αk e sommare il vettore ottenutoall’iterata precedente. In formule, questo concetto si esprime come:

x(k+1) = x(k) − αk∇ϕ(x(k)) (1.13)

23

Page 42: Appunti del corso di Metodi analitici e numerici...Politecnico di Milano Scuola di Ingegneria Industriale e dell’Informazione Corso di studi in Ingegneria Meccanica Appunti del corso

a questo punto serve calcolare l’incremento αk ad ogni iterazione: per farlo si puòutilizzare una funzione scalare F (α) : R −→ R definita come:

F (αk) = ϕ(x(k+1)) = ϕ(x(k) − αk∇ϕ(x(k))

)Derivando la funzione F (α) e tenendo presente che per definizione (Eq. (1.13))∇ϕ(x(k)) = −r(k) si ottiene il prodotto scalare di:

F ′(αk) = −(∇ϕ(x(k) − αk∇ϕ(x(k))

))T

∇ϕ(x(k))

= −∇ϕ(x(k))T(∇ϕ(x(k) − αk∇ϕ(x(k))

))= r(k)

T∇ϕ(x(k) − αkr(k))

Ora, per il Teo. 1.2.2 il gradiente di ϕ può ssere riscritto come:

F ′(αk) = r(k)T[A(x(k) − αkr

(k))− b]

= −r(k)Tr(k) + r(k)

TAr(k)

Volendo infine avere αk come punto di ottimo, si impone che la derivata primaF ′(αk) sia nulla (Teo. Fermat), da questo ricava l’incremento αk:

F ′(αk) = −r(k)Tr(k) + r(k)

TAr(k) = 0

αk =r(k)

Tr(k)

r(k)TAr(k)

A questo punto si hanno tutti gli elementi necessari per scrivere l’algoritmo del

24

Page 43: Appunti del corso di Metodi analitici e numerici...Politecnico di Milano Scuola di Ingegneria Industriale e dell’Informazione Corso di studi in Ingegneria Meccanica Appunti del corso

metodo del gradiente semplice:

x(0) arbitrario

r(0) = b− Ax(0)

Per k = 1, 2, . . .

αk =r(k)

Tr(k)

r(k)TAr(k)

x(k+1) = x(k) + αkr(k)

r(k+1) = b− Ax(k+1)

Teorema 1.2.3 (Errore metodo del gradiente). Sia A una matrice simmetrica edefinita positiva. Si ha che il metodo del gradiente converge a alla soluzione x

∀x ∈ Rn e che:

∥∥e(k)∥∥A ≤ dkp∥e(0)∥A con dp =K(A)− 1

K(A) + 1

Si nota molto facilmente che per K(A) ≫ 0 il numero di condizionamentoK(A) → 1, quindi per sitemi mal condizionati la convergenza sarà molto lenta.

1.2.4 Metodo del gradiente coniugato

Questo metodo è un molto simile al metodo del gradiente semplice (Par. 1.2.3),solo che in questo caso la direzione di decrescita non è determinata dal residuo,ma viene corretta con opportuni metodi. La domanda che ci si pone è: esisteuna direzione di più rapida convergenza p(k) rispetto alla direzione individuata dalmetodo del gradiente r(k), che permetta di arrivare ad una soluzione con menopassaggi?

Ipotizzando che esista una p(k) che ottimizza la ricerca della soluzione, lasoluzione iterativa sarà del tipo:

xk+1 = x(k) + αkp(k)

25

Page 44: Appunti del corso di Metodi analitici e numerici...Politecnico di Milano Scuola di Ingegneria Industriale e dell’Informazione Corso di studi in Ingegneria Meccanica Appunti del corso

Dove p(k) serve ad individuare la direzione di massima decrescita in modo tale dagarantire la soluzione nel minor numero di passaggi possibili, mentre αk serve agarantire che ϕ(x(x+1)) sia punto di minimo. Come per il metodo del gradiente,αk minimizza la funzione ϕ(x(x+1)) solo quando:

α(k) =p(k)T r(k)

p(k)T Ap(k)

Ma come si individua la direzione di decrescita massima p(k)? Si fa in modo cheogni passo sia ottimale tenendo conto di tutti i passaggi precedenti.

Definizione 1.2.2 (Vettori A-coniugati). Data una matrice A ∈ Rn×n e un set divettori pini=1 ⊂ Rn, si dice che il vettore pk è A-coniugato agli altri se:

pkApj = 0 ∀j = 1, 2, . . . , k − 1 ∀k = 2, 3, . . . , n

La procedura prevede i seguenti passaggi:

1. Utilizziamo come punto di partenza un x(0) e una direzione p(0) arbitrari(generalmente si utilizza p(0) = r(0)).

2. Si determina la prima iterata come si fa per il metodo del gradiente semplice:

x(1) = x(0) + α(0)p(0)

con α0 tale da minimizzare la funzione descritta dall’Eq. (1.11):

ϕ(x(1)) = ϕ(x(0) + α0p(0)) =⇒ α0 =

p(0)T r(k)

p(0)T Ap(k)

3. Successivamente si calcola la seconda iterata:

x(2) = x(1) + α1p(1) = x(0) + α0p

(0) + α1p(1)

dove α1 e α0 ancora una volta tali che la funzione descritta dall’Eq. (1.11)sia minima:

ϕ(x(0) + α0p(0) + α1p

(1)) = F (α0, α1)

26

Page 45: Appunti del corso di Metodi analitici e numerici...Politecnico di Milano Scuola di Ingegneria Industriale e dell’Informazione Corso di studi in Ingegneria Meccanica Appunti del corso

dove F è una funzione da due a una sola variabile.

4. Come nel caso precedente, si deve andare trovare il minimo della funzioneϕ(y), che, a differenza del caso precedente, dipende da due parametri distinti:α0 e α1. Per calcolarli serve per prima cosa andare ad azzerare il gradente∇F (α0, α1):

∂F

∂α0

= p(0)T∇ϕ(x(0) + α0p

(0) + α1p(1))

= p(0)T[A(x(0) + α0p

(0) + α1p(1))− b

]= p(0)T (

−r(0) + α0Ap(0) + α1Ap(1))

= −p(0)Tr(0) + α0p

(0)TAp(0) + α1p

(0)TAp(1) = 0

∂F

∂α1

= · · · = −p(1)Tr(0) + α0p

(1)TAp(0) + α1p

(1)TAp(1) = 0

Queste due equazioni rappresentano un sistema di due equazioni in due inco-gnite. Inoltre al fine di ottenere lo stesso valore di α0 del passaggio precedentesi fa in modo che α0 non dipenda dal nuovo termine α1 o, in altri termininon si fa altro che disaccoppiare il sistema imponendo che il coefficientedell’incognita α1 sia nullo nella prima equazione:

p(0)TAp(1) = 0

tale condizione implica che la direzione p(1) sia A-coniugata (Def. 1.2.2)rispetto alla precedente. Infine, si può calcolare l’ultimo parametro incognitoα1:

α1 =p(1)T

r(1)

p(1)TAp(1)

27

Page 46: Appunti del corso di Metodi analitici e numerici...Politecnico di Milano Scuola di Ingegneria Industriale e dell’Informazione Corso di studi in Ingegneria Meccanica Appunti del corso

Nel caso generale il principio non cambia:

x(k+1) = x(0) +k∑

j=0

αjp(j) = min

y(k+1)∈Rn

ϕ(y(k+1))

= F (α)

αk tale che

p(k)TAp(j) = 0 ∀j = 1, 2, . . . , k − 1

∇F (α) = 0

=⇒ αk =p(k)T

r(k)

p(k)TAp(k)

A questo punto non rimane che trovare i p(k) A-coniugati tra loro: per fare questo,alla fine di ogni passaggio si modifica la direzione di ∇ϕ (che corrisponde all’op-posto della direzione del residuo) sottraendo un multiplo del vettore p(k), ovverosi cerca p(k+1) della forma:

p(k+1) = r(k+1) − βkp(k)

Ovviamente si sceglie βk tale che p(k+1) sia A-coniugato a tutti i p(j)kj=1 prece-denti. Di fatto non si deve risolvere un sistema di k incognite, ma si βk ricava daun’unica equazione scalare:

p(k)TAp(k+1) = p(k)T

A(r(k+1) − βkp

(k))= 0

=⇒ βk =p(k)T Ar(k+1)

p(k)T Ap(k)

Applicando tutte queste correzioni al metodo del gradiente si ottiene l’algorit-mo del metodo del gradiente coniugato:

x(0) arbitrario

r(0) = b− Ax(0)

p(0) = r(0)

28

Page 47: Appunti del corso di Metodi analitici e numerici...Politecnico di Milano Scuola di Ingegneria Industriale e dell’Informazione Corso di studi in Ingegneria Meccanica Appunti del corso

Per k = 1, 2, . . .

αk =r(k)

Tp(k)

p(k)TAp(k)

x(k+1) = x(k) + αkp(k)

r(k+1) = b− Ax(k+1)

βk =p(k)TAr(k)

p(k)TAp(k)

p(k+1) = r(k+1) − βkp(k)

Avendo imposto che le direzioni di decrescita siano A-coniugate (Def. 1.2.2),automaticamente risulta che tutti i vettori pin−1

i=0 ⊂ Rn siano linearmente indi-pendenti fra loro. Questo fatto a sua volta implica che ogni volta il metodo calcolauna nuova direzione e la utilizza per minimizzare la funzione ϕ(y) (cfr. Eq. 1.11a pagina 21) aggiunge una dimensione alla direzione di decrescita: quindi primaminimizza con una retta, poi con un piano, poi uno spazio, poi un iperpiano diquattro dimensioni. . . fino ad arrivare alla soluzione esatta in massimo n passaggi.Per questo motivo si può dire che il metodo del gradiente coniugato è un metododiretto, ma la pratica comune accetta senza particolari problemi un’approssima-zione della soluzione: ad esempio per risolvere un sistema di mille equazioni linearinon sono necessarie mille iterazioni, ma solo il numero minimo necessario per rag-giungere la tolleranza prefissata, soprattutto perché a un certo punto gli errori dicalcolo diventano preponderanti.

Teorema 1.2.4 (Errore metodo del gradiente coniugato). Sia A una matrice sim-metrica e definita positiva. Si ha che il metodo del gradiente coniugato convergea alla soluzione x ∀x(0) ∈ Rn in al più n iterazioni e che l’errore e(k) è ortogonalea tutte le direzioni di decrescita e ha norma:

∥∥e(k)∥∥A ≤ 2ck

1 + c2k∥e(0)∥A con c =

√K(A)− 1√K(A) + 1

per k < n

Anche in questo caso, visto che si tratta di un algoritmo molto potente, è giàimplementato nell’ambiete MATLAB® , tramite la funzione:

29

Page 48: Appunti del corso di Metodi analitici e numerici...Politecnico di Milano Scuola di Ingegneria Industriale e dell’Informazione Corso di studi in Ingegneria Meccanica Appunti del corso

x = pcg(A, b, tol)

dove A è la matrice del sistema, b il vettore dei termini noti, x la soluzione (outputdella funzione) e tol la tolleranza richiesta.

Questa funzione è anche più potente di quella che è stata appena descritta,perché fa uso della tecnica di precodizionamento per migliorare il numero di con-dizionamento (Def. 1.1.12) della matrice A e quindi per facilitare la risoluzione delsistema, evitando inutili errori computazionali.

1.2.5 Criteri di arresto per metodi iterativi

Come già accennato in precedenza, non è sempre possibile conoscere la soluzioneesatta al problema, per questo motivo si rende necessario introdurre un parametroreale e(k) che sia in grado di stimare l’errore e(k) realmente commesso. NellaTab. 1.1 a pagina 16 sono descritti i principali parametri usati. Ad essi si puòaggiungere anche la differenza di iterate successive definita come:∥∥∥δ(k)

∥∥∥ =∥∥x(k) − x(k−1)

∥∥La regola generale per gli stimatori di errore e(k) afferma che uno stimatore è

efficace solo quando:e(k) ≃

∥∥e(k+1)∥∥

quindi non vi è un criterio nettamente migliore degli altri, ma ognuno di essi siadatta meglio nelle diverse situazioni. Ad esempio:

• Se si sceglie il residuo normalizzato e(k) =∥r(k)∥∥b∥ si ha che:

∥∥e(k+1)∥∥ ≤ K2(A)e(k)

quindi se la matrice A è ben condizionata questa è la scelta consigliata.

• Se si sceglie, per una matrice B simmetrica e definita positiva, la differenzadi iterate successive e(k) = ∥δ(k)∥ si ha che:

∥∥e(k)∥∥ =∥∥x− x(k−1)

∥∥ =∥∥x− x(k+1) + x(k+1) − x(k)

∥∥ =∥∥∥e(k+1) + δ(k)

∥∥∥30

Page 49: Appunti del corso di Metodi analitici e numerici...Politecnico di Milano Scuola di Ingegneria Industriale e dell’Informazione Corso di studi in Ingegneria Meccanica Appunti del corso

da cui segue che: ∥∥e(k)∥∥ ≤∥∥e(k+1)

∥∥+ ∥∥∥δ(k)∥∥∥

inoltre, dall’Eq. (1.10), si ricava che:

∥∥e(k)∥∥ ≤ ρ(B)∥∥e(k)∥∥+ ∥∥∥δ(k)

∥∥∥∥∥e(k)∥∥ ≤ 1

1− ρ(B)

∥∥∥δ(k)∥∥∥

quindi se il raggio spettrale ρ(B) → 0 questo criterio è ottimo, al contrariose ρ(B) → 1 l’errore risulta sovrastimato.

31

Page 50: Appunti del corso di Metodi analitici e numerici...Politecnico di Milano Scuola di Ingegneria Industriale e dell’Informazione Corso di studi in Ingegneria Meccanica Appunti del corso

Capitolo 2

Equazioni non lineari

All’interno del Cap. 1 sono stati analizzati vari metodi per risolvere i sistemi lineari.Ma come si trova la soluzione di un’equazione o sistema di equazioni che nongodono della proprietà di linearità? In questo capitolo si analizzeranno i metodiper rispondere a questa domanda.

Consideriamo un problema molto comune nel campo dell’ingegneria, cioè quellorelativo all’esistenza (e alla ricerca) degli zeri di una funzione a variabile realegenerica:

f(x) : [a, b] ⊆ R −→ R

α ∈ R | f(α) = 0

In genere questo problema rimane circoscritto a un intervallo specifico [a, b], siaper motivi numerici, sia per motivi tecnico-ingegneristici: non è molto significativoandare a trovare uno zero i un intervallo che risulta fuori-range per un determinatofenomeno fisico. Prima di procedere con la trattazione ricordiamo un teoremafondamentale per la risoluzione di equazioni.

Teorema 2.0.1 (Degli zeri). Sia f(x) ∈ C(I) con I = [a, b] ⊆ R tali chef(a)f(b) < 0. Allora esiste almeno un punto interno all’intervallo I in cui lafunzione f(x) si annulla:

∃α ∈ (a, b) | f(α) = 0

32

Page 51: Appunti del corso di Metodi analitici e numerici...Politecnico di Milano Scuola di Ingegneria Industriale e dell’Informazione Corso di studi in Ingegneria Meccanica Appunti del corso

Nelle sezioni seguenti vengono discussi i principali metodi per risolvere le equa-zioni implicite. Nell’ambiente MATLAB® è già implementata una funzione ingrado di risolvere per via numerica un’equazione:

x = fsolve(f, x0)

dove f è la funzione da azzerare, mentre x0 l’iterata iniziale. Si segnala inoltre chenello stesso ambiente è implementata anche una seconda funzione:

s = solve(eqn, var)

che permette di risolvere equazioni simboliche per via analitica: in questo casoeqn è l’equazione da azzerare, mentre var è la variabile rispetto a cui ricavare lasoluzione s.

2.1 Metodo di bisezione

Sia f(x) una funzione a variabili reali, continua nell’intervallo [a, b]. Il metodo dibisezione sfrutta il teorema degli zeri (Teo. 2.0.1) per trovare un solo punto dovela funzione f si annulla. Supponendo che ∃!α ∈ [a, b] | f(α) = 0, si può scriverel’algoritmo:

a(0) = a

b(0) = b

dati del problema

x(1) =a(0) + b(0)

2Per k = 1, 2, 3, . . .

Se x(k) = 0

α = x(k)

Se f(a(k))f(x(k)) < 0

a(k+1) = a(k)

b(k+1) = x(k)

x(k+1) =a(k) + b(k)

2

33

Page 52: Appunti del corso di Metodi analitici e numerici...Politecnico di Milano Scuola di Ingegneria Industriale e dell’Informazione Corso di studi in Ingegneria Meccanica Appunti del corso

Se f(a(k))f(x(k)) > 0

a(k+1) = x(k)

b(k+1) = b(k)

x(k+1) =a(k) + b(k)

2

Come si nota dal testo, questo metodo non fa altro che prendere l’intervalloiniziale [a, b], valutare la funzione nel punto medio e scegliere quale tra i due nuoviintervalli rispetta condizioni del teorema degli zeri (Teo. 2.0.1); il metodo si arrestaquando si giunge al di sotto di una tolleranza prefissata, oppure se a un certo puntola funzione viene valutata proprio in corrispondenza del suo zero. In ogni caso, adogni iterazione l’intervallo si va a dimezzare:

∣∣I(k)∣∣ = |I|2k

Per k = 1, 2, . . . (2.1)

Questa equazione è in qualche modo indice dell’errore massimo che il metodo stacommettendo al passaggio k; quest’ultimo infatti non può in nessun caso esseremaggiore della metà della misura dell’intervallo I(k):

e(k) =∣∣α− x(k)

∣∣ ≤ e(k) =

∣∣I(k)∣∣2

=|I|2k+1

L’ipotesi di convergenza (Def. 4 a pagina XII), poiché:

e(k) =|I|2k+1

k→+∞−−−−→ 0+

In figura Fig. 2.1 nella pagina successiva è rappresentato l’andamento dell’errorede metodo di bisezione per calcolare lo zero della seguente funzione:

f(x) =1√x+ 1

+ ln(x+ 1) α = 1,020 747

Inoltre, sempre dell’Eq. (2.1), si può anche calcolare il numero minimo di passaggi

34

Page 53: Appunti del corso di Metodi analitici e numerici...Politecnico di Milano Scuola di Ingegneria Industriale e dell’Informazione Corso di studi in Ingegneria Meccanica Appunti del corso

0 10 20 30 40 5010−16

10−12

10−8

10−4

100

Figura 2.1: Esempio dell’andamento degli errori del metodo di bisezione in funzionedel numero delle iterazioni su un grafico semilogaritmico: in particolare, in azzurro èriportato l’errore effettivo, mentre in arancione l’errore stimato.

necessari per raggiungere una predeterminata tolleranza:

e(k) =b− a

2k+1< toll =⇒ k > log2

∣∣∣∣b− a

toll

∣∣∣∣Definizione 2.1.1 (Convergenza di ordine p). Un metodo iterativo per la ricercadegli zeri si dice che converge con ordine p se vale:

limk→+∞

x(k+1) − α(x(k) − α

)p = µ

dove µ è una costante di R, indipendente da k, chiamata fattore di convergenzaasintotico.

In generale quindi, si cerca di avere p maggiore possibile, per avere una con-vergenza più veloce allo zero della funzione. Nel caso del metodo di bisezione ilmetodo converge con andamento lineare (p = 1), infatti:

limk→+∞

x(k+1) − α

x(k) − α= lim

k→+∞

e(k+1)

e(k)= lim

k→+∞

(b− a)/2(k+1)

(b− a)/2(k)= lim

k→+∞

2k

2(k+1)=

1

2

35

Page 54: Appunti del corso di Metodi analitici e numerici...Politecnico di Milano Scuola di Ingegneria Industriale e dell’Informazione Corso di studi in Ingegneria Meccanica Appunti del corso

2.2 Metodo di Newton

2.2.1 Metodo di Newton semplice

Il metodo di Newton è uno strumento potente per ricercare uno zero α di unadata funzione f ∈ C1(I) con I = [a, b] ⊆ R. Il principio di base è quello diapprossimare la soluzione con l’intersezione della retta tangente al un punto dellafunzione con l’asse delle ascisse. Per ricavare il metodo, si consideri l’espansionecon il polinomio di Taylor dell’intorno di x0 arrestata al primo ordine di unagenerica funzione f ∈ C1(I):

y(x) = f(x0) + f ′(x0)(x− x0) + o((x− x0)

)(2.2)

Ipotizzando di trascurare i termini di grado superiore al primo e imponendo lacondizione di intersezione y(x) = 0 si ottiene:

x = x0 −f(x0)

f ′(x0)

Dato che si vuole approssimare x ≃ α si può scrivere un algoritmo che sia ingrado di reiterare questo processo:

x(0) arbitrario, sufficientemente vicino a α

Per k = 0, 1, 2, . . .

x(k+1) = x(k) − f(x(k))

f ′(x(k))con f ′(x(k)) = 0

Questo metodo purtroppo ha in sé un grande svantaggio: le tecnica deriva daun’approssimazione mediante un polinomio di Taylor (Eq. 2.2), che in quanto talevale solo in un intorno del punto x0; per questo motivo non è per nulla detto cheil metodo converga alla soluzione ∀x ∈ R, ma si può affermare senza particolariproblemi che per ogni scelta di x(0) sufficientemente vicina allo zero α si ha laconvergenza.

Teorema 2.2.1 (Convergenza metodo di Newton). Data una funzione f ∈ C1(I),α ∈ I tale che f(α) = 0, si ha che ∀x(0) ∈ I assegnato arbitrario sufficientemente

36

Page 55: Appunti del corso di Metodi analitici e numerici...Politecnico di Milano Scuola di Ingegneria Industriale e dell’Informazione Corso di studi in Ingegneria Meccanica Appunti del corso

vicino a α la convergenza del metodo di Newton è garantita.Se inoltre f ∈ C2(I) il metodo di Newton converge con ordine p = 2:

limk→+∞

x(k+1) − α(x(k) − α

)2 =1

2

f ′′(α)

f ′(α)

2.2.2 Metodo di Newton modificato

Un aspetto importante sugli zeri di una funzione di cui ancora non si è discussoè legato alla molteplicità di quest’ultimi (Def. 2.2.1). Tale proprietà influenza inmodo non indifferente la convergenza del metodo di Newton, pertanto val la penadi analizzare con cura questo fenomeno.

Definizione 2.2.1 (Molteplicità di uno zero). Sia f ∈ Cm(Iα), con m ≥ 1 em ∈ N. Lo zero α della funzione f ha molteplicità pari a m se:

f (i)(α) = 0 ∀i = 1, 2, . . . ,m− 1 e f (m)(α) = 0

In particolare si dice che α è uno zero semplice se m = 1, mentre che α è uno zeromultiplo se m > 1. Inoltre la radice α ha molteplicità m se e solo se f(x) puòessere riscritta come:

f(x) = (x− α)mg(x) con g(α) = 0

Teorema 2.2.2 (Convergenza metodo Newton semplice per zeri multipli). Sef ∈ C2(Iα) ∩ Cm(Iα) e x(0) sufficientemente vicino allo zero α allora il metodo diNewton semplice converge con p = 1:

limk→+∞

x(k+1) − α

x(k) − α= 1− 1

m

Dimostrazione 2.2.1 (Convergenza metodo Newton semplice per zeri multipli).Si supponga che α abbia molteplicità m, dalla Def. 2.2.1 si ha che:

f(x) = (x− α)mg(x) con g(α) = 0, (2.3)

37

Page 56: Appunti del corso di Metodi analitici e numerici...Politecnico di Milano Scuola di Ingegneria Industriale e dell’Informazione Corso di studi in Ingegneria Meccanica Appunti del corso

Il metodo di Newton può essere riscritto come una funzione ϕ(x) tale che:

ϕ(x) = x− f(x)

f ′(x)

e sostituendo l’espressione descritta dall’Eq. (2.3) si ha che:

ϕ(x) = x− (x− α)mg(x)

m(x− α)m−1g(x) + (x− α)mg′(x)

= x− (x− α)g(x)

mg(x) + (x− α)g′(x)

Derivando l’espressione ϕ(x) per la variabile x si ottiene:

ϕ′(x) = 1−mg2(x) + (x− α)g′(x)

[1 +mg(x) + (x− α)g′(x)

](mg(x) + (x− α)g′(x)

)2 +

+ (x− α)g(x)mg′(x) + g′(x) + (x− α)g′′(x)(

mg(x) + (x− α)g′(x))2

che valutata in corrispondenza dello zero α vale:

ϕ′(α) = 1− mg2(α)

m2g2(α)= 1− 1

mcon m > 1

Quindi il Teo. 2.2.2 afferma che tanto più è grande m tanto più è lenta la con-vergenza del metodo. Tale complicazione spesso non è accettabile, perché impiegagrande potenza computazionale per risolvere un’equazione.

Per fortuna, è possibile migliorare la convergenza introducendo una costante m

davanti al rapporto della funzione con la sua derivata. L’algoritmo diventa quindi:

x(0) arbitrario, sufficientemente vicino a α

Per k = 0, 1, 2, . . .

x(k+1) = x(k) −mf(x(k))

f ′(x(k))con f ′(x(k)) = 0

Teorema 2.2.3 (Convergenza metodo di Newton modificato). Dato m ∈ N, conm > 1, f ∈ C2(Iα) ∩ Cm(Iα) e x(0) sufficientemente vicino allo zero α allora il

38

Page 57: Appunti del corso di Metodi analitici e numerici...Politecnico di Milano Scuola di Ingegneria Industriale e dell’Informazione Corso di studi in Ingegneria Meccanica Appunti del corso

metodo di Newton modificato converge con p = 2.

2.3 Risoluzione di sistemi non lineari

Molto spesso accade che un problema non sia risolvibile tramite una sola equa-zione, ma che sia necessario trattarlo mediante l’uso di più equazioni non lineariaccoppiate. Si consideri la funzione non lineare vettoriale del tipo:

F(x) : Rn −→ Rn

Risolvere un sistema di equazioni non lineare con soluzione α significa andare atrovare gli zeri della funzione F:

α ∈ Rn | F(α) = 0

A questo punto si può pensare di andare a generalizzare i metodi visti nei para-grafi precedenti per le funzioni a una sola variabile reale. Purtroppo però il metodopiù semplice, cioè quello di bisezione (Sez. 2.1) non può essere implementato perle funzioni con dominio di dimensione superiore a quella di R, perché non si riescea dividerlo ogni volta in due parti uguali. Rimane quindi il metodo di Newton(Sez. 2.2.1) la cui versione base può essere facilmente estesa per domini di Rn.

Definizione 2.3.1 (Matrice Jacobiana). Data una funzione F ∈ C1(Rn), si defi-nisce matrice Jacobiana la matrice le cui componenti sono pari a:

[JF

]ij=

∂fi∂xj

(x)∀i = 1, 2, . . . , n

∀j = 1, 2, . . . , n

dove fi rappresenta la funzione vettoriale Rn −→ R corrispondente alla i-esimacomponente di F.

Come suggerisce la Def. 2.3.1 l’equivalente della derivata prima per le funzionivettoriali del tipo F : Rn −→ R è data dalla matrice Jacobiana, pertanto l’Eq. (2.2)estesa a domini di più dimensioni diventa:

F(x) = F(x0) + JF(x0)(x− x0) + o(∥x− x0∥

)39

Page 58: Appunti del corso di Metodi analitici e numerici...Politecnico di Milano Scuola di Ingegneria Industriale e dell’Informazione Corso di studi in Ingegneria Meccanica Appunti del corso

Ancora una volta trascurando i termini di ordine superiore al primo, imponendoche la funzione sia nulla in x e ipotizzando che det(JF) = 0 si ottiene un sistemalineare con incognita δx:

JF(x0) (x− x0)︸ ︷︷ ︸=δx

= −F(x0)

JF(x0)δx = −F(x0)

Come già analizzato prima, per ottenere l’algoritmo del metodo basta reiterare ilprocesso:

x(0) arbitrario

Per k = 0, 1, 2, . . .

JF(x0(k))δx(k) = −F(x(k)) si calcola δx(k)

x(k+1) = x(k) + δx(k)

Per determinare quale sia il metodo migliore per risolvere il sistema lineare, sirimanda al Cap. 1 a pagina 2.

Teorema 2.3.1 (Convergenza metodo di Newton per sistemi non lineari). SeF ∈ C2(Iα) con Iα ⊆ Rn e assegnato arbitrariamente x(0) sufficientemente vicinoallo zero semplice α allora il metodo di Newton per sistemi di equazioni non lineariconverge con ordine p = 2.

2.4 Iterazioni di punto fisso

Alcune delle funzioni f : R −→ R ammettono dei punti fissi, cioè dei punti α taliper cui:

α ∈ R | f(α) = α (2.4)

Un esempio di queste funzioni è rappresentato dalla funzione cos(x) la quale pos-siede un punto fisso in corrispondenza di 0,739 085 rad. Come evince dall’esempio

40

Page 59: Appunti del corso di Metodi analitici e numerici...Politecnico di Milano Scuola di Ingegneria Industriale e dell’Informazione Corso di studi in Ingegneria Meccanica Appunti del corso

riportato in Fig. 2.2, il punto fisso di una funzione può essere interpretato comeintersezione con la bisettrice del primo e terzo quadrante.

La grande utilità delle iterazioni di punto fisso è rappresentata dal fatto chepossono essere utilizzate per la ricerca di zeri di alcune funzioni. Infatti:

ϕ(α) = α =⇒ ϕ(α)− α = 0

Quindi il punto fisso α della funzione coseno corrisponde allo zero della funzione:

f(x) = ϕ(x)− x

Teorema 2.4.1 (Convergenza globale iterazioni di punto fisso). Sia ϕ(x) unafunzione a variabili reali ϕ(x) : R −→ R.

1. Se ϕ ∈ C0([a, b]) e ϕ(x) ∈ [a, b] ∀x ∈ [a, b] allora esiste almeno un punto fissodella funzione ϕ in [a, b].

2. Se inoltre, ∃L ∈ [0, 1) tale che |ϕ(x1)− ϕ(x2)| ≤ L|x1 − x2| ∀x1, x2 ∈ [a, b]

allora esiste un solo punto fisso e l’algoritmo converge ad α ∀x(0) ∈ [a, b].

3. Se inoltre, ϕ ∈ C1([a, b]) con |ϕ′(x)| < 1 ∀x(0) ∈ [a, b] allora esiste un solopunto fisso e l’algoritmo converge almeno linearmente. Inoltre:

limk→+∞

x(k+1) − α

x(k) − α= ϕ′(α)

L’algoritmo delle iterazioni di punto fisso risulta dunque:

x(0) ∈ [a, b] arbitrario

Per k = 1, 2, 3, . . .

x(k+1) = ϕ(x(k))

Teorema 2.4.2 (Valor medio di Lagrange). Sia f ∈ C1([a, b]) allora esiste almenoun ξ ∈ [a, b] tale che:

f(a)− f(b) = f ′(ξ)(a− b)

41

Page 60: Appunti del corso di Metodi analitici e numerici...Politecnico di Milano Scuola di Ingegneria Industriale e dell’Informazione Corso di studi in Ingegneria Meccanica Appunti del corso

0.5 1 1.5 2

0.5

1

1.5

α

x

y

Figura 2.2: Punto fisso della funzione y(x) = cos(x), ottenuto dall’intersezione dellafunzione cos(x) con la bisettrice del primo e quarto quadrante (tratteggiata).

Teorema 2.4.3 (Convergenza locale di Ostrowski). Se ϕ ∈ C1([a, b]) e |ϕ′(x)| < 1,assegnato un x(0) arbitrario abbastanza vicino ad α allora il metodo iterativo dipunto fisso converge con ordine p = 1:

limk→+∞

x(k+1) − α

x(k) − α= ϕ′(α)

Dimostrazione 2.4.1 (Convergenza locale di Ostrowski). Sostituendo all’espres-sione x(k+1)−α la definizione di punto fisso (Eq. (2.4)) e l’algoritmo x(k+1) = ϕ(x(k))

si ottiene:x(k+1) − α = ϕ(x(k))− ϕ(α) ξ(k) ∈ [x(k), x(k+1)]

che per il teorema del valore medio di Lagrange (Teo. 2.4.2) è pari a:

x(k+1) − α = ϕ′(ξ(k))(x(k) − α)

Riarrangiando l’equazione si ottiene il rapporto

x(k+1) − α

x(k) − α= ϕ′(ξ(k))

Inoltre sapendo che per k → +∞, x(k) → α e ξ(k) → α, poiché il valore di ξ(k) è

42

Page 61: Appunti del corso di Metodi analitici e numerici...Politecnico di Milano Scuola di Ingegneria Industriale e dell’Informazione Corso di studi in Ingegneria Meccanica Appunti del corso

limitato all’intervallo [x(k), x(k+1)]; quindi per il teorema del confronto semplice:

ϕ′(ξ(k))k→+∞−−−−→ ϕ′(α)

Quindi se |ϕ′(x)| < 1 (una delle ipotesi del teorema) si avrà la convergenza, seinvece |ϕ′(x)| > 1 il metodo non arriverà alla soluzione, a meno che x(0) ∼= α. Viè poi un caso limite dato da |ϕ′(x)| = 1, in questo caso la convergenza del metododipende solamente dalla scelta della prima iterata x(0).

Teorema 2.4.4 (Convergenza locale di Ostrowski). Se ϕ ∈ C2([a, b]), con derivataprima e seconda valutata nel punto ϕ′(α), ϕ′′(α) = 0 e scelto x(0) sufficientementevicino ad α allora il metodo converge quadraticamente, quindi con p = 2:

limk→+∞

x(k+1) − α(x(k) − α

)2 =1

2ϕ′′(α)

2.4.1 Metodo di punto fisso per funzioni vettoriali

La definizione di punto fisso (Eq. (2.4)), può essere facilmente estesa anche a tuttele funzioni vettoriali. Con lo stesso principio di prima, si può infatti affermare cheun punto fisso di una funzione ϕ(x) : Rn −→ Rn è un punto α tale per cui:

α ∈ Rn | ϕ(α) = α

Anche i punti fissi di funzioni vettoriali possono essere utilizzati per ricercare lozero della funzione F(x) = ϕ(x)− x, tramite l’algoritmo:

x(0) arbitrario

Per k = 0, 1, 2, . . .

x(k+1) = ϕ(x(k))

Teorema 2.4.5 (Convergenza iterazioni di punto fisso vettoriali). Se il raggiospettrale |ρ(Jϕ)| < 1 allora il metodo delle iterazioni di punto fisso converge almenolinearmente.

43

Page 62: Appunti del corso di Metodi analitici e numerici...Politecnico di Milano Scuola di Ingegneria Industriale e dell’Informazione Corso di studi in Ingegneria Meccanica Appunti del corso

2.4.2 Metodo di Newton come iterazione di punto fisso

il metodo di Newton, già descritto nella Sez. 2.2.1 a pagina 36, può essere analizzatocome un caso particolare dei iterazione di punto fisso, infatti:

x(k+1) = x(k) − f(x(k))

f ′(x(k))= ϕN(x

(k)) (2.5)

Derivando la funzione ϕN(x) rispetto alla variabile x si ottiene:

ϕ′N(x) =

f(x)f ′′(x)(f ′(x)

)2Inoltre, espandendo in serie di Taylor la funzione ϕ′

N(x) nell’intorno di α finoall’ordine m, per il quale si ha la prima derivata non nulla nel punto si ottiene laseguente espressione:

ϕ′N(α) = 1− 1

m

Quindi ancora una volta si ha che il metodo di Newton (analizzato come iterazionedi punto fisso) converge linearmente se α è uno zero multiplo e quadraticamentese lo zero è semplice (si era già giunti a tale risultato nel Teo. 2.2.2 a pagina 37).

limk→+∞

x(k+1) − α(x(k) − α

)2 =1

2

f ′′(α)

f ′(α)con f ′(α) = 0

Anche il metodo di Newton coniugato può essere analizzato come iterazione dipunto fisso: in questo caso l’Eq.(2.5) diventa:

x(k+1) = x(k) −mf(x(k))

f ′(x(k))= ϕM(x(k)) (2.6)

Derivando ancora la funzione ϕM(x(k)), valutandola nello zero α ed espandendoin serie di Taylor l’espressione ottenuta, fino alla prima derivata m non nulla nelpunto, si ottiene:

ϕ′N(α) = 1−m

1

m= 0 ∀m ≥ 1

Quindi si ha sempre convergenza quadratica, qualsiasi sia la moltplicità m dellozero, ancora abbaiamo ottenuto lo stesso risultato del Teo. 2.2.2.

44

Page 63: Appunti del corso di Metodi analitici e numerici...Politecnico di Milano Scuola di Ingegneria Industriale e dell’Informazione Corso di studi in Ingegneria Meccanica Appunti del corso

2.5 Criteri di arresto

Come si è analizzato nei precedenti paragrafi, la maggior parte dei metodi numericiper il calcolo degli zeri è di tipo iterativo, per cui si devono trovare dei parametriadatti ad arrestare il processo quando il risultato ottenuto giunge al di sotto delletolleranze prefissate.

Per ovviare a questo problema esistono principalmente due diverse tipologie dicriteri:

Differenza di due iterate successive questo è un criterio particolarmente utilese si vuole valutare quanto sia efficace o meno proseguire con le iterazioni: ilcriterio si arresta quando i benefici portate da eventuali passaggi successividiventano trascurabili.

e(k) =

toll + 1 per k = 0

δ(k) =∣∣x(k) − x(k+1)

∣∣ per k ≥ 1

Condizione di arresto: e(k) ≤ toll

Residuo a differenza di quanto visto per i sistemi lineari, questo criterio di arrestoè indice dell’errore assoluto che si sta commettendo (la soluzione è semprenota, poiché si ricerca sempre lo zero della funzione).

e(k) = r(k) =∣∣f(r(k))∣∣

Condizione di arresto: e(k) ≤ toll

I criteri appena visti possono essere facilmente estesi alla risoluzione di sisteminon lineari (Sez. 2.3 a pagina 39), sostituendo il valore assoluto, con la norma dellozero.

45

Page 64: Appunti del corso di Metodi analitici e numerici...Politecnico di Milano Scuola di Ingegneria Industriale e dell’Informazione Corso di studi in Ingegneria Meccanica Appunti del corso

Capitolo 3

Approssimazioni di funzioni e dati

Questo capitolo ha come obiettivo presentare le principali tipologie di approssi-mazioni di funzioni e dati, che rappresentano tecniche essenziali in alcuni campiscientifici. Tendenzialmente si ricorre all’approssimazione per due principali moti-vi: per semplificare problemi che altrimenti risulterebbero impossibili da risolvere(come il calcolo di alcuni integrali definiti, oppure la risoluzione problemi differen-ziali. . . ) e per trovare delle correlazioni empiriche per i risultati di esperimenti ostatistiche.

Un esempio semplice di questi metodi può essere rappresentato dall’espansionein serie di Taylor, che permette di approssimare molto bene una funzione assegnatanell’intorno di un punto.

Definizione 3.0.1 (Polinomio di Taylor). Si consideri un intervallo [a, b] e unafunzione f(x) : [a, b] −→ R tale che f(x) ∈ C(n−1)([a, b]). Dato un punto x0 ∈ (a, b)

si chiama polinomio di Taylor l’espressione:

Tn(f, x) = f(x0) + f ′(x0)(x− x0) +f ′′(x0)

2(x− x0)

2 + · · ·+ f (n)(x0)

n!(x− x0)

n

Oppure in forma compatta:

Tn(f, x) =n∑

k=0

f (k)(x0)

k!(x− x0)

k

46

Page 65: Appunti del corso di Metodi analitici e numerici...Politecnico di Milano Scuola di Ingegneria Industriale e dell’Informazione Corso di studi in Ingegneria Meccanica Appunti del corso

e si ha che:f(x) = Tn(f, x) +Rn(x)

dove Rn(x) è una funzione che indica il resto dell’approssimazione.

Teorema 3.0.1 (Resto di Peano e di Lagrange). Il resto del polinomio di Taylor,secondo Peano è pari a:

Rn(x) = o((x− x0)

n)

mentre secondo Lagrange vale:

Rn(x) =f (n)(ξ)

n!(x− x0)

n con ξ ∈ (x, x0)

All’interno dell’ambiente MATLAB® è implementato un tool che permette dicalcolare e visualizzare con grande semplicità il polinomio di Taylor di una datafunzione:

taylortool

Oltre a questo, è anche disponibile una funzione per il calcolo del polinomio diTaylor per funzioni a variabili simboliche:

T = taylor(f, var, x0)

dove T è il polinomio di Taylor, f e x sono rispettivamente la funzione e la variabilesimbolica mentre x0 il punto su cui si ricerca il polinomio.

Il polinomio di Taylor ha una grandissima utilità, ma purtroppo consente unabuona approssimazione della funzione solo in un intorno relativamente piccolo,attorno al punto in cui è centrata, oltre che richiedere notevoli sforzi di calcolo.Per questo motivo vanno ricercati metodi più efficaci per approssimare le funzioni.

Si supponga dunque di avere un insieme di n+ 1 nodi distinti:

xi

ni=0

xi = xj ∀i = j

Per ognuno di essi è definito un dato, quindi si conoscono n+ 1 punti distinti:

(xi, yi)

ni=0

xi = xj ∀i = j

47

Page 66: Appunti del corso di Metodi analitici e numerici...Politecnico di Milano Scuola di Ingegneria Industriale e dell’Informazione Corso di studi in Ingegneria Meccanica Appunti del corso

e inoltre se è nota la funzione che definisce gli yi si può scrivere:

(xi, f(xi))

ni=0

xi = xj ∀i = j

Definizione 3.0.2 (Interpolazione ai nodi). Fare un’interpolazione ai nodi signi-fica andare a ricercare una funzione interpolante f(x) tale che:

f(xi) = yi ∀i = 0, 1, . . . , n

In generale esistono molteplici topologie di funzioni interpolanti e ognuna di es-se presenta dei pregi, dei difetti e quindi si adatta meglio di altre ad un determinatocontesto; in ogni caso le più usate sono senza dubbio quelle:

• Polinomialif(x) = a0 + a1x+ a2x

2 + · · ·+ anxn

• Razionalif(x) =

a0 + a1x+ a2x2 + · · ·+ anx

n

b0 + b1x+ b2x2 + · · ·+ bmxm

• Trigonometriche

f(x) =n∑

j=−n

cjeijx

• Esponenzialif(x) = k1a

x1 + . . .

• Splines

Per semplicità si tratteranno solamente gli interpolanti che dipendono solo linear-mente dai loro coefficienti incogniti; quindi dall’elenco precedente sono escluse lesole interpolazioni razionali ed esponenziali.

3.1 Interpolazione polinomiale

La più semplice tra tutte le interpolazioni è quella polinomiale. Essa è molto utileperché i polinomi sono delle funzioni molto semplici da gestire durante i calcoli (in

48

Page 67: Appunti del corso di Metodi analitici e numerici...Politecnico di Milano Scuola di Ingegneria Industriale e dell’Informazione Corso di studi in Ingegneria Meccanica Appunti del corso

particolare per i calcolo degli zeri, integrali, derivate. . . ), ma purtroppo si vedràche non sempre riescono a seguire bene la funzione che interpolano. Prima diprocedere con i metodi di interpolazione polinomiale si analizzano le proprietàdell’insieme P.

Definizione 3.1.1 (Spazio vettoriale dei polinomi). Un generico polinomio èun’espressione del tipo:

pn(x) = a0 + a1x+ a2x2 + · · ·+ anx

n

Se il coefficiente an = 0 si dice che il polinomio ha grado n e si scrive:

pn(x) ∈ Pn

dove Pn è lo spazio vettoriale di tutti i polinomi di grado inferiore o uguale a n.

3.1.1 Interpolazione polinomiale di Lagrange

Iniziamo dunque con analizzare un polinomio che interpoli tutti i nodi distinti delproblema.

Teorema 3.1.1 (Esistenza e unicità polinomio interpolante). Dati n + 1 nodidistinti xini=0 ⊂ I, esiste un solo polinomio di grado al più n:

∃! Πn(x) ∈ P

che interpola i dati, ossia:

Πn(xi) = yi ∀i = 0, 1, . . . , n

Data inoltre una funzione f(x) ∈ C0(I) tale che f(xi) = yi, esiste un solopolinomio di grado al più n che interpola f(x) nell’intervallo I:

∃! Πnf(x) ∈ P Πnf(xi) = yi ∀i = 0, 1, . . . , n

49

Page 68: Appunti del corso di Metodi analitici e numerici...Politecnico di Milano Scuola di Ingegneria Industriale e dell’Informazione Corso di studi in Ingegneria Meccanica Appunti del corso

Dimostrazione 3.1.1 (Unicità polinomio interpolante). Si supponga per assurdoche vi siano due diversi polinomi dello stesso grado (al più n) che interpolano glistessi punti:

∃ Π1n(x),Π

2n(x) ∈ P con Π1

n(x) = Π2n(x)

Dato che entrambi i polinomi hanno grado al più n una loro generica combinazionelineare sarà ancora un un polinomio di grado al più n; tra le infinite possibili siscelga:

Πn(x).= Π1

n(x)− Π2n(x) Πn(x) ∈ Pn

Ora per definizione di polinomio interpolante (presente all’interno del Teo. 3.1.1)si ha che:

Πn(xi) = Π1n(xi)− Π2

n(xi) = yi − yi = 0 ∀i = 0, 1, . . . , n

Quindi il polinomio Πn(x) ha n + 1 zeri. Tuttavia, per il teorema fondamentaledell’algebra, un polinomio di grado n non può avere n+ 1 zeri, a meno che:

Πn(x) ≡ 0 =⇒ Π1n(x) ≡ Π2

n(x)

Nella dimostrazione precedente si è visto che se il polinomio interpolante esisteallora questo è unico. Il nuovo problema è quindi quello di costruire l’espressionedel polinomio.

Come si evince dalla Def. 3.1.1 tutti i polinomi di grado al massimo n sonoelementi di uno spazio vettoriale, chiamato Pn di dimensioni dim(Pn) = n + 1;pertanto ha senso definire una base vettoriale dello spazio, come ad esempio:

Pn = span

1, x, x2, . . . , xn

Naturalmente la base non è unica, ma, come per tutti gli spazi vettoriali, neesistono infinte diverse in grado di generare l’intero Pn.

Definizione 3.1.2 (Base di Lagrange). Assegnati n + 1 nodi distinti xini=0, si

50

Page 69: Appunti del corso di Metodi analitici e numerici...Politecnico di Milano Scuola di Ingegneria Industriale e dell’Informazione Corso di studi in Ingegneria Meccanica Appunti del corso

definisce base di Lagrange o polinomio caratteristico di Lagrange:

φi(x) ∈ Pn | φk(xi) = δki ∀k = 0, 1, . . . , n

dove δki è il delta di Kronecker (Def. 3.1.3).

Definizione 3.1.3 (Delta di Kronecker). Si definisce delta di Kronecker la seguen-te espressione:

δij =

0 per i = j

1 per i = j

La base di Lagrange era l’ultimo elemento necessario per costruire il polinomioche sia in grado di interpolare i dati.

Dimostrazione 3.1.2 (Esistenza polinomio interpolante). Per definizione, un po-linomio interpolante deve per forza passare per tutti i punti assegnati. Tale con-cetto può essere espresso in formule tramite combinazione lineare degli elementidella base di Lagrange, che garantiscano che ognuno di essi valga uno solamentequando deve interpolare il nodo ad esso associato e sia nullo altrove. Il tutto vienepoi pesato sul valore dell’ordinata del punto da cui deve passare:

Πn(x) =n∑

i=0

yiφi(x)

Il problema si è spostato dal trovare l’intero polinomio a scrivere in maniera anali-tica gli n+1 elementi φi(x) della base di Lagrange. Ognuno di essi deve soddisfarele due proprietà seguenti:

1. Deve essere nullo in tutti i k nodi diversi dall’i-esimo nodo che deve inter-polare, per cui:

φi(x) = H

n∏k=0k =i

(x− xk)

dove H è una costante reale da determinare.

51

Page 70: Appunti del corso di Metodi analitici e numerici...Politecnico di Milano Scuola di Ingegneria Industriale e dell’Informazione Corso di studi in Ingegneria Meccanica Appunti del corso

2. Deve valere uno nel’i-esimo nodo che deve interpolare; imponendo questacondizione si ottiene:

φi(xi) = 1 =⇒ H

n∏k=0k =i

(xi − xk) = 1 =⇒ H =1∏n

k=0k =i

(xi − xk)

Per queste ragioni il generico polinomio che interpola gli n + 1 nodi assegnati èesprimibile come:

Πn(x) =n∑

i=0

yiφi(x) =n∑

i=0

yi

∏nk=0k =i

(x− xk)∏nk=0k =i

(xi − xk)

Questa espressione di chiama polinomio interpolante di Lagrange.

A primo impatto la formula sembra molto complicata, ma è molto meccanicae basta applicarla un paio di volte per impararla:

Esempio 3.1.1 (Calcolo polinomio interpolante di Lagrange). Si considerino ipunti P0(1, 1), P1(−1, 2) e P2(0, 0). Trovare il polinomio interpolante di Lagrange.

Per prima cosa serve trovare le basi φ0(x), φ0(x) e φ0(x). Per farlo bastascrivere un numero n di parentesi a numeratore a denominatore (in questo caso2), poi si scrive (x − . . . ) all’interno delle parentesi a numeratore e (a − . . . )

a denominatore (dove a è l’ascissa del punto della base). Infine si riempiono ipuntini inserendo uno alla volta le ascisse di tutti gli altri punti:

φa(x) =(x− . . . )(x− . . . )

(a− . . . )(a− . . . )= . . .

φ0(x) =(x− (−1))(x− 0)

(1− (−1))(1− 0)=

x2 + x

2

φ1(x) =(x− 1)(x− 0)

(−1− 1)(−1− 0)=

x2 − x

2

φ3(x) =(x− 1)(x− (−1))

(0− 1)(0− (−1))= −x2 + 1

Una volta trovate la basi si moltiplica per l’ordinata del rispettivo punto si som-

52

Page 71: Appunti del corso di Metodi analitici e numerici...Politecnico di Milano Scuola di Ingegneria Industriale e dell’Informazione Corso di studi in Ingegneria Meccanica Appunti del corso

−2 −1 1 2

−1

1

2

3

P0

P1

P2

x

y

Figura 3.1: Esempio di interpolazione polinomiale con polinomio di Lagrange.

mano tutte (notare che si poteva evitare di calcolare φ2(x), poiché y2 = 0).

Π2(x) = 1x2 + x

2+ 2

x2 − x

2+ 0(−x2 + 1) =

3

2x2 − 1

2x

Nella Fig. 3.1 è rappresentato l’esempio appena descritto.

A questo punto è necessario andare a quantificare l’errore che si commettequando si approssima una funzione con il suo polinomio interpolante. Ovviamen-te tutto questo è possibile solamente i punti analizzati sono appartenenti a unafunzione nota.

Definizione 3.1.4 (Errore di interpolazione). Sia I ⊂ R un intervallo limitatotale che xini=0 ⊂ I e sia f(x) una funzione generica da interpolare sull’intervallo.Si definisce errore di interpolazione Enf(x) la differenza:

Enf(x) = f(x)− Πnf(x)

e inoltre si può definire un parametro en(f) che non sia funzione di x, ma chesia indice dell’errore commesso nell’interpolazione. Tale grandezza, in formule èespressa come:

en(f) = maxx∈I

|Enf(x)|

53

Page 72: Appunti del corso di Metodi analitici e numerici...Politecnico di Milano Scuola di Ingegneria Industriale e dell’Informazione Corso di studi in Ingegneria Meccanica Appunti del corso

Teorema 3.1.2 (Errore di interpolazione). Dati xini=0 ⊂ I noti distinti, cheappartengono a una funzione f ∈ Cn+1(I) allora l’errore di interpolazione è paria:

Enf(x) =f (n+1)

(ξ(x)

)(n+ 1)!

ωn(x)

con ξ(x) ∈ I. Il termine ωx(x) ci chiama polinomio nodale ed è pari a:

ωn(x) =n∏

i=0

(x− xi)

Inoltre si può dire che:

en(f) ≤1

(n+ 1)!maxx∈I

∣∣f (n+1)(x)∣∣max

x∈I|ωn(x)|

La formula che propone il Teo. 3.1.2 è molto generica e in generale poco utile,serve quindi riarrangiarla in qualche modo per ottenere una grandezza utile arisolvere i problemi di calcolo. Per farlo però, bisogna definire la tipologia dei nodiche si vuole utilizzare.

Nodi equispaziati

Teorema 3.1.3 (Errore interpolazione con nodi equispaziati). Si considerino n+1

nodi equispaziati su un intervallo I = [a, b] del tipo :

a = x0 < x1 < · · · < xn = b

xi = ih+ a con h =b− a

n

Allora il valore massimo (in modulo) che può assumere il polinomio nodale ωn(x)

è pari a:maxx∈I

|ωn(x)| =n!

4hn+1

Quindi il massimo valore dell’errore di interpolazione vale:

en(f) =hn+1

4(n+ 1)maxξ∈I

∣∣f (n+1)(ξ)∣∣

54

Page 73: Appunti del corso di Metodi analitici e numerici...Politecnico di Milano Scuola di Ingegneria Industriale e dell’Informazione Corso di studi in Ingegneria Meccanica Appunti del corso

Dimostrazione 3.1.3 (Errore interpolazione con nodi equispaziati). Il problemaprincipale è sistemare il valore del polinomio nodale, in modo da poter trovare unalimitazione superiore al valore. Si consideri dunque il suo valore assoluto:

|ωn(x)| =

∣∣∣∣∣n∏

i=0

(x− xi)

∣∣∣∣∣ =n∏

i=0

|x− xi|

Supponga che il generico valore x appartenga al primo intervallo dei nodi [x0, x1].Si sa per certo che se x = x0, x1 la moltiplicazione dei primi due termini dellaproduttoria sarà nulla. Inoltre, essendo una moltiplicazione del valore assoluto didue polinomi la funzione sarà continua. Quindi la funzione |x− x0||x− x1| avrà(per il teorema di Rolle) almeno un punto di massimo, che per ovvie ragioni saràal centro dell’intervallo. In formule:

|x− x0||x− x1| ≤h

2

h

2=

h2

4

Dato che x ∈ [x0, x1] le distante da tutti gli altri punti sono facilmente calcolabili:

|x− x2| ≤ 2h |x− x3| ≤ 3h . . . |x− xn| ≤ nh

Mettendo insieme i risultati ottenuti si ottiene:

|ωn(x)| =n∏

i=0

|x− xi| ≤h2

4n!hn−1 = n!

hn+1

4

Si ma questo è effettivamente l’intervallo peggiore per valutare ωn(x)? Sì. Siconsideri ad esempio il punto di mezzo del primo intervallino e il punto di mezzodell’intervallino centrale. La distanza che c’è tra il punto di mezzo dell’intervallinoesterno dai nodi dell’altro capo del polinomio è circa il doppio della distanza chec’è tra gli stessi nodi dal punto centrale, quindi i punti per cui ωn(x) è maggioresono proprio quelli appartenenti agli intervalli esterni.

Il Teo. 3.1.3 e più in generale il Teo. 3.1.2 non garantiscono in alcun modo cheaumentando il numero dei nodi l’errore dell’interpolazione diminuisca, perché ilmassimo della derivata (n+ 1)-esima potrebbe tendere a infinito più velocemente

55

Page 74: Appunti del corso di Metodi analitici e numerici...Politecnico di Milano Scuola di Ingegneria Industriale e dell’Informazione Corso di studi in Ingegneria Meccanica Appunti del corso

−3 −2 −1 1 2 3

−1

1

2

x

y

(a) Funzione di Runge (azzurro) con con po-linomi di Lagrange di grado 5 (arancione) e 7(magenta).

−3 −2 −1 1 2 3

−0.2

0.2

0.4

0.6

x

y

(b) Andamento dell’errore Enf(x): in aran-cione per il polinomio di Larange di grado 5e in magenta per quello di grado 7

Figura 3.2: Interpolazione della funzione di Runge e relativi errori.

di quanto ωn(x)[(n+ 1)!

]−1 tenda a zero. La regola dice che se:

maxx∈I

∣∣f (n+1∣∣ è limitato =⇒ en(f)

n→+∞−−−−→ 0+

Fenomeno di Runge

Esistono delle funzioni, anche apparentemente semplici, tali per però sono sempreaffette da un grande errore di interpolazione. Un esempio di esse è la funzione diRunge, definita come:

f(x) =1

1 + x2

Nonostante non abbia una forma particolarmente complessa da studiare, non sipresta per nulla bene all’interpolazione di Lagrange, sopratutto sugli estremi. Unesempio di questo fenomeno è riportato in Fig. 3.2.

Teorema 3.1.4 (Stabilità rispetto a pertrurbazioni di dati). Data una funzione dainterpolare, molto spesso si può valutare la stabilità rispetto a piccole perturbazionidi dati:

f(x) 7−→ Πnf(x)

f(x) = f(x) + ε 7−→ Πnf(x)

56

Page 75: Appunti del corso di Metodi analitici e numerici...Politecnico di Milano Scuola di Ingegneria Industriale e dell’Informazione Corso di studi in Ingegneria Meccanica Appunti del corso

Si osserva che anche per piccolissime variazioni l’interpolazione si allontana dimolto dalla funzione originale, nel caso più generico possibile si scrive:

∥∥Πnf(x)− Πnf(x)∥∥≫ ∥ε∥∞

Nodi non equispaziati

Per cercare di contrastare i grandi errori di interpolazione si cerca di trovare unset migliore di nodi, non equispaziati. Come si nota bene dall’effetto di Run-ge (Sez. 3.1.1), il maggior errore di interpolazione viene commesso sugli estremidell’intervallo, quindi si cerca di abbattere il valore dell’errore infittendo questezone.

Definizione 3.1.5 (nodi di Cebyëv-Gauss-Lobatto (CGL.)). Dato un intervallostandard I = [−1, 1] si definiscono i n + 1 nodi di Cebyëv-Gauss-Lobatto (CGL.)mediante l’espressione:

x1 = − cos

(πi

n

)∀i = 0, 1 . . . , n

Questi possono essere estesi al generico intervallo [a, b] dilatandoli per la metà dellamisura dell’intervallo e translandoli di un valore pari alla media aritmetica degliestremi:

x1 =a+ b

2− b− a

2cos

(πi

n

)∀i = 0, 1 . . . , n

Teorema 3.1.5 (Errore interpolazione per nodi CGL.). Se la funzione da in-terpolare f ∈ C(n+1)(I) e si usano i nodi CGL. il fenomeno di Runge non siverifica:

limn→+∞

Πnf(x) = f(x) ∀x ∈ I

limn→+∞

en(f(x)) = 0

e anche i fenomeni di instabilità risultano molto mitigati.

57

Page 76: Appunti del corso di Metodi analitici e numerici...Politecnico di Milano Scuola di Ingegneria Industriale e dell’Informazione Corso di studi in Ingegneria Meccanica Appunti del corso

Tornando al problema della costruzione del polinomio interpolante si può pen-sare di ricavare Πn(x) vincolandolo a passare per tutti gli n + 1 punti assegnati;questo significa risolvere un sistema lineare del tipo:

a0 + a1x+ a2x2 + · · ·+ anx

n = y0

a0 + a1x+ a2x2 + · · ·+ anx

n = y1... ... ...

a0 + a1x+ a2x2 + · · ·+ anx

n = yn

=⇒ Ba = y

dove a è il vettore dei coefficienti incogniti, y le ordinate dei punti nodali e infineB la matrice di Vandermonde, cioè una matrice della forma:

V =

1 x1 x2

1 x31 . . . xn

1

1 x2 x22 x3

2 . . . xn2

... ... ...1 xn x2

n x3n . . . xn

n

Ancora si può avere una prova che il polinomio di Lagrange esiste ed è unico,poiché il determinante della matrice B può essere scritto come:

det(B) =∏

1≤i<j≤n

(xi − xj)

ed essendo tutti i nodi distinti per ipotesi det(B) = 0 e quindi per il teoremadi Cramer esiste una sola soluzione al sistema e di conseguenza al problema diinterpolazione. Il problema di fondo è che la matrice di Vandermonde è mal con-dizionata (K2(B) ≫ 0) e, come visto nel Cap. 1 questo implica che i coefficientitrovati saranno affetti da notevoli errori di calcolo.

3.1.2 Interpolazione polinomiale composita

L’interpolazione polinomiale composita lavora su un principio del tutto simile aquello dell’interpolazione polinomiale semplice: la differenza tra i due metodi è

58

Page 77: Appunti del corso di Metodi analitici e numerici...Politecnico di Milano Scuola di Ingegneria Industriale e dell’Informazione Corso di studi in Ingegneria Meccanica Appunti del corso

costituita dal fatto che in questo caso l’intervallo I = [a, b] viene diviso in tantisotto.intervalli del tipo:

Ii = [xi−1 − x1] ∀ii = 1, 2, . . . , n

È importante notare che non è stata fatta nessuna ipotesi in merito all’ampiezzaHi degli intervalli. Di conseguenza si definisce ampiezza caratteristica l’ampiezzadell’intervallino di misura massima:

H = maxi=1,2,...,n

|Hi|

Definizione 3.1.6 (Polinomio interpolante lineare a tratti). Si chiama polinomiointerpolante lineare a tratti il polinomio ΠH

1 (x) ∈ P1 definito come:ΠH1 (x) = yi

ΠH1 (x) = yi−1 +

yi − yi−1

xi − xi−1

(x− xi−1)∀i = 1, 2, . . .

Definizione 3.1.7 (Errore interpolazione lineare composita). Esattamente comevisto prima se la funzione f(x) è nota allora è possibile definire l’errore come:

eH1 (f) = maxx∈I

∣∣ΠH1 f(x)− f(x)

∣∣Teorema 3.1.6. Data una funzione f(x) ∈ C2(I) allora si ha che:

eH1 (f) ≤ eH1 (f) =H2

8maxx∈I

|f ′′(x)|

E di conseguenza si ha che l’errore converge quadraticamente con H.

Nella Fig. 3.3 è ripotato un esempio dell’interpolazione composita lineare: èinteressante notare che per bassi numeri di nodi il metodo approssima davveromale la funzione, mentre per un alto numero d nodi l’errore di interpolazione èpiccolo.

In generale è possibile anche costruire un polinomio di grado r maggiore al

59

Page 78: Appunti del corso di Metodi analitici e numerici...Politecnico di Milano Scuola di Ingegneria Industriale e dell’Informazione Corso di studi in Ingegneria Meccanica Appunti del corso

−2 2 4 6

−10

10

x

y

Figura 3.3: Interpolazione lineare composita della funzione f(x) = 3x sin(x) − e−x,riportata in azzurro: nello specifico la spezzata arancione è stata costruita utilizzandocinque nodi equispaziati, quella magenta utilizzandone nove.

Tabella 3.1: Tipologie di interpolazioni composite e relativi nodi necessari.

Tipologia polinomio Nodi necessari Figure geometriche

Lineare n+ 1 n rette

Quadratico 2n+ 1 n parabole

Cubico 3n+ 1 n cubiche... ... ...

n-simo grado rn+ 1

primo che interpola in maniera composita dei nodi assegnati:

ΠHr (x) ∈ Pr con x ∈ Ii ∀i = 1, 2, . . . , n

In questo caso si ha la necessità di avere ulteriori r−1 nodi per ogni intervallino inmodo da avere sufficienti informazioni per eseguire l’interpolazione. Nella Tab. 3.1è riportato in modo schematico questo concetto.

Teorema 3.1.7 (Errore di interpolazione polinomiale composita). Data una fun-

60

Page 79: Appunti del corso di Metodi analitici e numerici...Politecnico di Milano Scuola di Ingegneria Industriale e dell’Informazione Corso di studi in Ingegneria Meccanica Appunti del corso

zione f ∈ Cr+1(I) allora l’errore di interpolazione è pari a:

eH1 (f) ≤ eH1 (f) = CrHr+1 max

x∈I

∣∣f (r+1)(x)∣∣ con Cr ∈ R+

In questo caso la convergenza sarà di ordine p+ 1.Nell’ipotesi di utilizzare nodi equispaziati di una distanza H = (b− a)/n si può

ricavare il numero minimo di nodi da utilizzare per avere l’errore massimo al disotto di una certa tolleranza:

eH1 (f) ≤ toll =⇒ n ≥ (b− a) r+1

√Cr

8 · tollmaxx∈I

|f (r+1)(x)|

3.1.3 Interpolazione spline

Le spline sono delle interpolazioni composite costruite con tramite dei polinomi.A differenza dell’interpolazione polinomiale composita (Sez. 3.1.2) vista in prece-denza, le spline hanno l’obiettivo di aumentare il grado di continuità del polinominei punti nodali. Questo significa che al posto di imporre dei vincoli di passaggioper dei punti si impongono dei vincoli sulle derivate.

Definizione 3.1.8 (Interpolazione spline). Si chiama interpolazione spline un po-linomio interpolante Sr(x) di grado al più r definito su ogni intervallo Ii che abbiacontinue tutte le prime m derivate:

Sr(x)∣∣Ii∈ Pr ∀i = 1, 2, . . . , n

Sr(xj) = yj ∀i = 1, 2, . . . , n

S(k)r (x+

j ) = S(k)r (x−

j )∀i = 1, 2, . . . , n

∀k = 1, 2, . . . , k

In generale esistono molte tipologie diverse di spline, come quella naturale, cheprevede che la derivata seconda del primo e dell’ultimo nodo sia nulla o quellanot-a-knot, la quale richiede che tutte le derivate terze di ogni nodo siano ugualia destra e a sinistra. MATLAB® a meno di diverse istruzioni utilizza l’ultima edè richiamabile attraverso il comando:

PP = spline(x, y)

61

Page 80: Appunti del corso di Metodi analitici e numerici...Politecnico di Milano Scuola di Ingegneria Industriale e dell’Informazione Corso di studi in Ingegneria Meccanica Appunti del corso

In cui il vettore PP contiene i coefficienti del polinomio, mentre x e y sono lecoordinate dei punti nodali. Se si vuole avere una function handle che dato unqualsiasi valore appartenente all’intervallo restituisca il valore dell’interpolazionedi tipo spline basta inserire su MATLAB® l’espressione:

s = @(t) spline(x, y, t)

A questo punto basta richiamarla nel codice tramite s(t), per ottenere il valorericercato.

3.2 Metodo dei minimi quadrati

Il metodo dei minimi quadrati è molto utile quando si sta ricercando un certo tipodi correlazione per legare dei punti. Si consideri ad esempio di essere in presenza diun fenomeno e di voler ricavare, sotto opportune semplificazioni, una correlazioneche sia in grado di prevedere il comportamento dell’evento.

Per completare questo lavoro serve replicare il fenomeno per un numero suffi-cientemente grande di volte, cambiando dove possibile i parametri che lo influen-zano, e poi trovare una o più correlazioni che leghino gli effetti con le cause. Ilmetodo dei minimi quadrati è una valida tecnica per trovare queste correlazioni.

Definizione 3.2.1 (Polinomio approssimante nel senso dei minimi quadrati). Datoun insieme di n+1 dati (xi, yi)ni=0 e un numero intero m ∈ N se esiste la funzionepolinomiale fm(x) di grado m tale che:

n∑i=0

[yi − fm(xi)

]2 ≤ n∑i=0

[yi − pm(xi)

]2 ∀pm(x) ∈ Pm

si chiama polinomio approssimante nel senso dei minimi quadrati di grado m.

Nel caso più generico possibile è lecito scegliere un qualsiasi grado m ≤ n, manella pratica comune si tendono a semplificare i problemi e quindi a scegliere ungrado del polinomio m ≪ n. Ovviamente se il grado scelto è proprio m = n ilpolinomio approssimante nel senso dei minimi quadrati coincide con il polinomiointerpolante di Lagrange (Sez. 3.1.1 a pagina 49).

fn(x) ≡ Πn(x)

62

Page 81: Appunti del corso di Metodi analitici e numerici...Politecnico di Milano Scuola di Ingegneria Industriale e dell’Informazione Corso di studi in Ingegneria Meccanica Appunti del corso

0 20 40 60 80 100

−30

−20

−10

0

Figura 3.4: Il grafico mostra un esempio di un’interpolazione lineare nel senso deiminimi quadrati di cento punti.

Nella Fig. 3.4 è riportato un possibile esempio di interpolazione ottenuta tramiteil metodo dei minimi quadrati.

Definizione 3.2.2 (Energia del vettore dei coefficienti). Dato il vettore dei coef-ficienti b ∈ Rm si chiama energia del vettore la funzione:

ϕ(b) : Rm −→ R

ϕ(b) =n∑

i=0

[yi − (b0 + b1x1 + · · ·+ bmx

mi )]2 (3.1)

Teorema 3.2.1 (Calcolo polinomio approssimante nel senso dei minimi quadrati).Il polinomio approssimante nel senso dei minimi quadrati di un insieme di n+1 dati,con x1 sono nodi distinti, è un polinomio di grado m il cui vettore dei coefficientiminimizza la funzione ϕ(b) definita dall’Eq.(3.1):

a ∈ Rm | ϕ(a) = minb∈Rm

[ϕ(b)

]Dimostrazione 3.2.1 (Calcolo polinomio approssimante nel senso dei minimiquadrati). Si consideri la Def. 3.2.1. È immediato dire che per soddisfare la defini-zione il polinomio approssimante nel senso dei minimi quadrati deve minimizzarel’Eq.(3.1). Essa è una funzione semidefinita positiva su tutto Rm, quindi se ammet-

63

Page 82: Appunti del corso di Metodi analitici e numerici...Politecnico di Milano Scuola di Ingegneria Industriale e dell’Informazione Corso di studi in Ingegneria Meccanica Appunti del corso

te un punto stazionario, questo sarà un minimo assoluto. Per trovare i coefficientia si deve risolvere l’equazione vettoriale:

∇ϕ(b)∣∣a= 0 (3.2)

Derivando ϕ(b) rispetto alla generica componente k-esima si ottiene:

∂ϕ

∂bk(b) =

∂bk

[ n∑i=0

[yi − (b0 + b1x1 + · · ·+ bmx

mi )]2]

=n∑

i=0

∂bk

[yi − (b0 + b1x1 + · · ·+ bmx

mi )]2

Il polinomio può essere riscritto come somma di termini che vanno da zero (terminenoto) a m:

∂ϕ

∂bk(b) =

n∑i=0

∂bk

[yi −

m∑j=0

bjxji

]2= 2

n∑i=0

[yi −

m∑j=0

bjxji

]xki

Imponendo quindi la condizione data dell’Eq. (3.2) si ottiene:

n∑i=0

m∑j=0

ajxj+ki =

n∑i=0

xki yi ∀k = 0, 1 . . . ,m

Questo equivale a risolvere un sistema lineare di m+ 1 ingonite del tipo:

Aa = q

a = (a0, a1, . . . , am)T a ∈ Rm (incognito)

[A]kl =n∑

i=0

xk+li ∀k, l = 0, 1, . . . ,m A ∈ R(m+1)×(m+1)

qk =n∑

i=0

xki yi ∀k = 0, 1, . . . ,m q ∈ Rm

64

Page 83: Appunti del corso di Metodi analitici e numerici...Politecnico di Milano Scuola di Ingegneria Industriale e dell’Informazione Corso di studi in Ingegneria Meccanica Appunti del corso

Importante notare che tutte sommatorie sull’indice i sono indipendenti dalla di-mensione del problema lineare. Nello specifico l’indice i va da zero a n ed è relativoai nodi, gli indici k e l per la matrice e k per il vettore dei termini noti sono relativial sistema lineare. Per fare maggiore chiarezza si può riscrivere il sistema come:

n+ 1∑

i xi . . .∑

i xmi∑

i xi

∑i x

2i

... . . . ...∑i x

mi . . .

∑i x

2mi

a1

a1...am

=

∑i yi∑

i yixi

...∑i yix

mi

Si nota molto bene che la matrice A è simmetrica e definita positiva (se tutti inodi xi sono distinti) quindi il sistema è sempre risolvibile.

In merito agli errori commessi dal metodo dei minimi quadrati non si fannograndi considerazioni. In genere comunque si calcola il intervallo interpolantetale per cui un possibile risultato di un esperimento ricada all’interno di esso conprobabilità nota.

Nell’ambiente MATLAB® sono invece disponibili due funzioni utili per inter-polare un insieme di punti. La prima consente di trovare i coefficienti coeff unpolinomio di grado n che interpoli nel senso dei minimi quadrati un insieme dipunti di coordinate x, y:

coeff = polyfit(x, y, n)

Ovviamente se il grado n coincide con la lunghezza dei vettori x e y si otterrannoi coefficienti del polinomio interpolante di Lagrange (Sez. 3.1.1 a pagina 49). Laseconda funzione prende in ingresso un vettore di coefficienti p e un set di valori xin cui valutare il polinomio.

z = polyval(p, x)

Infine se si vuole creare una function handle che, assegnato un valore t resituiscail valore interpolato di un set di punti:

z = @(t) polyval(polyfit(x, y, n), t)

o anche di un seconda function handle più complicata:

65

Page 84: Appunti del corso di Metodi analitici e numerici...Politecnico di Milano Scuola di Ingegneria Industriale e dell’Informazione Corso di studi in Ingegneria Meccanica Appunti del corso

z = @(t) polyval(polyfit(x, f(x), n), t)

Sul sito di MATLAB® sono riportate con precisione tutte le altre funzionalità diqueste due applicazioni, come ad esempio il calcolo della media o della deviazionestandard dell’approssimazione ai minimi quadrati. . .

66

Page 85: Appunti del corso di Metodi analitici e numerici...Politecnico di Milano Scuola di Ingegneria Industriale e dell’Informazione Corso di studi in Ingegneria Meccanica Appunti del corso

Capitolo 4

Integrazione e derivazionenumerica

Le operazioni di integrazione e di derivazione sono spesso alla base di problemidi carattere scientifico-ingegneristico, quindi è necessario trovare e analizzare delletecniche che permettano di applicare i concetti di integrazione e derivazione ana-lizzati finora solamente per via analitica, a tutti i problemi numerici che la praticacomune propone. In questo capitolo verranno descritti i metodi e algoritmi che siutilizzano maggiormente, per l’integrazione o la derivazione delle sole funzioni avariabile reale.

4.1 Integrazione numerica

Dall’analisi di funzioni si sa che le funzioni che non sono puntualmente discontinue(cioè quasi tutte. . . ) sono integrabili, ma in pratica non sempre è possibile trovareil risultato di un integrale in forma esplicita, e anche nel caso in cui lo si conoscapotrebbe comunque essere complicato valutarlo.

I(f) =

∫f(t)dt

Le tecniche di integrazione risolvono, almeno in parte, questo problema: tra-mite l’uso di tali metodi tutte le funzioni si possono integrare in modo definito

67

Page 86: Appunti del corso di Metodi analitici e numerici...Politecnico di Milano Scuola di Ingegneria Industriale e dell’Informazione Corso di studi in Ingegneria Meccanica Appunti del corso

ed, inoltre, è possibile, attraverso le proprietà della funzione integrale, creare unalgoritmo che restituisca il valore della primitiva di una funzione da un punto diriferimento prefissato a un generico valore x.

I(f) =

∫ b

a

f(t)dt =⇒ F (x) =

∫ x

x0

f(t)dt

Tali tecniche, che prendono il nome di formule di quadratura, per raggiungerequesto risultato, calcolano, in maniera approssimata, il valore dell’area sottesaalla curva f(t), attraverso due diverse classi di metodi:

Formule di quadratura semplici in cui la funzione f(t) viene approssimata dauna funzione f(t) di cui è più facile calcolare l’integrale sull’intervallo dato:

Iq(f) ≃ IS(f) ∀x ∈ [a, b]

Formule di quadratura composite in cui si partiziona l’intervallo [a, b] in n

sotto-intervalli di ampiezza H, i cui estremi prendono di nuovo il nome di no-di. Su ognuno dei sotto-intervalli si calcolano le funzione fk che approssimanof(t):

fk ≃ f∣∣[xk−1,xk]

∀k = 1, 2, . . . , n

A questo punto l’integrale di quadratura è pari alla somma di tutti gliintegrali ottenuti:

Iq(f) ≃ IC(f) =n∑

k=0

∫ xk

xk−1

f(t)dt

Definizione 4.1.1 (Grado di esattezza). Si definisce grado di esattezza di unaformula di quadratura il massimo intero r ∈ N tale per cui la formula integraesattamente i polinomi di grado r o inferiore.

I(pr(x)) ≡ Iq(pr(x)) ∀pr ∈ P

Definizione 4.1.2 (Ordine di accuratezza). Si chiama ordine di accuratezza diuna formula di quadratura l’ordine di convergenza dell’errore rispetto all’ampiezza

68

Page 87: Appunti del corso di Metodi analitici e numerici...Politecnico di Milano Scuola di Ingegneria Industriale e dell’Informazione Corso di studi in Ingegneria Meccanica Appunti del corso

H su cui è definita la formula.

4.1.1 Formula del punto medio

La formula del punto medio, semplice o composita che sia, approssima l’area sot-tesa alla funzione attraverso l’area di uno o più rettangoli. In altre parole, si puòdire che, nel caso semplice, la funzione viene approssimata da un polinomio digrado zero, che interpola la funzione nel punto medio dell’intervallo.

ISPM(f) ≃ I(Π0f)

Da cui segue che la formula di quadratura del punto medio semplice è definitadalla seguente espressione:

ISPM(f) = (b− a)f(x) con x =a+ b

2

La formula del punto medio composita si ottiene approssimando la funzio-ne f(t) con un polinomio di grado zero, calcolato in maniera composita su ogniintervallo. Nell’ipotesi di utilizzare nodi equispaziati si ottiene:

xk = a+ kH ∀k = 0, 1, . . . , n H =b− a

n

Andando quindi a calcolare l’integrale del polinomio approssimante, si ottiene:

ICPM(f) = I(ΠH0 f) = H

n∑k=i

f(x) con xk =xk + xk−1

2

Teorema 4.1.1 (Errore formula del punto medio semplice). Se la funzione inte-granda f ∈ C2([a, b]) si ha che l’errore della formula del punto medio semplice èpari a:

eSPM(f) = I(f)− ISPM(f) =(b− a)3

24f ′′(ξ) ξ ∈ [a, b]

69

Page 88: Appunti del corso di Metodi analitici e numerici...Politecnico di Milano Scuola di Ingegneria Industriale e dell’Informazione Corso di studi in Ingegneria Meccanica Appunti del corso

Teorema 4.1.2 (Valor medio integrale). Sia f : [a, b] ⊆ R −→ R integrabile.Allora esiste un punto c ∈ [a, b] tale che:

f(c) =1

b− a

∫ b

a

f(x)dx

dove il secondo termine dell’equazione viene chiamato valor medio integrale.

Teorema 4.1.3 (Valor medio discreto). Questo teorema è una sorta di discretiz-zazione del teorema precedente. Data una funzione f : [a, b] ⊆ R −→ R, esistealmeno un punto c ∈ [a, b] tale che:

f(c) =1

b− a

N∑i=0

f(xi)

in cui gli xi si sono ottenuti partizionando l’intervallo [a, b] in N sottointervalli diugual misura. il termine a destra dell’equazione prende il nome di valor mediodiscreto.

Dimostrazione 4.1.1 (Errore formula del punto medio semplice). L’errore dellaformula del punto medio semplice può essere visto come la differenza tra l’in-tegrale della funzione e l’integrale della funzione approssimata, in questo caso unpolinomio di grado zero, che può essere riscritta sfruttando le proprietà di linearitàdell’integrale:

eSPM(f) = I(f)− ISPM(f) =

∫ b

a

f(x)dx− (b− a)f(x) =

∫ b

a

[f(x)− f(x)

]dx

A questo punto si sviluppa in serie di Taylor con resto di Lagrange la funzionef(x) attorno al punto x:

f(x) = f(x) + f ′(x)(x− x) +f ′′(ξ)

2(x− x)2 ξ ∈ [a, b]

70

Page 89: Appunti del corso di Metodi analitici e numerici...Politecnico di Milano Scuola di Ingegneria Industriale e dell’Informazione Corso di studi in Ingegneria Meccanica Appunti del corso

Sostituendo l’espressione ottenuta all’interno dell’integrale si ottiene:

eSPM(f) =

∫ b

a

[f(x)− f(x)

]dx

=

∫ b

a

[f(x) + f ′(x)(x− x) +

f ′′(ξ)

2(x− x)2 − f(x)

]dx

=

∫ b

a

[f ′(x)(x− x) +

f ′′(ξ)

2(x− x)2

]dx

= f ′(x)

∫ b

a

(x− x)dx︸ ︷︷ ︸=0 per il Teo. 4.1.2

+f ′′(ξ)

2

∫ b

a

(x− x)2dx

=f ′′(ξ)

6

[(b− a+ b

2

)3

−(a− a+ b

2

)3]

=f ′′(ξ)

48

[(2b− a− b)3 − (2a− a− b)3

]=

(b− a)3

24f ′′(ξ) ξ ∈ [a, b]

Teorema 4.1.4 (Errore formula del punto medio composita). Se la funzione in-tegranda f ∈ C2([a, b]) si ha che l’errore della formula del punto medio compositaè pari a:

eCPM(f) = I(f)− ICPM(f) =(b− a)3

24f ′′(ζ) ζ ∈ [a, b]

Dimostrazione 4.1.2 (Errore formula del punto medio composita). L’errore dellaformula del punto medio semplice può, come prima, essere riscritto sfruttando leproprietà di linearità dell’integrale e della sommatoria:

eCPM(f) = I(f)− ICPM(f) =

∫ b

a

f(x)dx−H

n∑k=1

f(xk) =n∑

k=1

∫ xk

xk−1

[f(x)− f(xk)

]dx

Applicando i medesimi passaggi del teorema precedente e il valor medio discreto(Teo. 4.1.3) si ottiene:

eCPM(f) =n∑

k=1

H3

24f ′′(ξk) ξk ∈ [xk−1, xk]

71

Page 90: Appunti del corso di Metodi analitici e numerici...Politecnico di Milano Scuola di Ingegneria Industriale e dell’Informazione Corso di studi in Ingegneria Meccanica Appunti del corso

Infine la sommatoria può essere riscritta come:

eCPM(f) =b− a

24H2f ′′(ζ) ζ ∈ [a, b]

Infine, l’ordine di convergenza della formula del punto medio composita è pari adue, infatti l’errore va a zero come il termine H2

Come si può facilmente notare dal Teo. 4.1.1 e dal Teo. 4.1.4 gli errori del-la formula di quadratura del punto medio semplice e composita sono nulli se laderivata seconda della funzione f(x) è nulla in tutto l’intervallo di integrazione:questo significa che la formula del punto medio ha grado di esattezza uno, perchériesce a integrare in modo esatto tutte le costanti e le rette.

4.1.2 Formula dei trapezi

La formula di quadratura dei trapezi approssima l’area sottesa alla funzione aquella di un trapezio, nel caso semplice, o a più di uno in caso di quella composita.In altre parole, nel caso semplice, si può dire che la funzione è approssimata da unpolinomio interpolante di primo grado, che passa per gli estremi dell’intervallo.

IST (f) ≃ I(Π1f)

La formula di quadratura risulta dunque:

IST (f) =b− a

2

(f(b) + f(a)

)È immediato notare che la base del trapezio è data dalla differenza b− a, mentrele due altezze dalla valutazione delle funzione negli estremi.

Nel caso composito l’area viene approssimata da n trapezi o, equivalentemente,la funzione viene interpolata da un polinomio lineare composito:

ICT (f) ≃ I(ΠH1 f)

72

Page 91: Appunti del corso di Metodi analitici e numerici...Politecnico di Milano Scuola di Ingegneria Industriale e dell’Informazione Corso di studi in Ingegneria Meccanica Appunti del corso

Nel caso di n+ 1 nodi equispaziati la formula diventa:

ICT (f) = H

n∑k=1

f(xk) + f(xk−1)

2

=1

2H(f(x0) + f(xn)

)+H

n−1∑k=1

f(xk) con H =b− a

n

Nell’ultimo passaggio la formula è stata semplificata: ad ogni passaggio della som-matoria viene sommato il termine k-esimo con quello precedente. Questo equivalea sommare una sola volta tutti i termini e a moltiplicare il risultato per due, esclusichiaramente il primo e l’ultimo, che vengono trattati in modo diverso.

Teorema 4.1.5 (Errori formula di quadratura del trapezio). Data una funzionef ∈ C2([a, b]) allora l’errore della formula di quadratura del trapezio semplice vale:

eST (f) = I(f)− IST (f) = −(b− a)3

12f ′′(ξ) ξ ∈ [a, b]

In cui il segno negativo è un refuso dei calcoli di poca importanza (infatti spariscese si analizza il valore assoluto dell’errore). Per quella composita:

eCT (f) = I(f)− ICT (f) = −b− a

12H2f ′′(ζ) ζ ∈ [a, b]

Quindi anche nel caso dei trapezi l’errore converge con ordine due.

Il Teo. 4.1.5 afferma che pur avendo utilizzato più informazioni e avendo spesopiù potenza computazionale per risolvere l’integrale con la formula dei trapezi ilgrado di esattezza è sempre uno e l’errore non solo non ha ordine di convergenzamigliore rispetto a prima, ma addirittura è maggiore di quello del punto medio!

4.1.3 Formula di Cavalieri-Simpson

Il concetto è sempre lo stesso: approssimare la funzione con un polinomio inter-polante (semplice o composito) e risolvere l’integrale dell’interpolazione. Questavolta si utilizza un polinomio di secondo grado Π2f(x), cioè una parabola. Nelcaso della formula semplice, quest’ultima viene vincolata a passare per gli estremi

73

Page 92: Appunti del corso di Metodi analitici e numerici...Politecnico di Milano Scuola di Ingegneria Industriale e dell’Informazione Corso di studi in Ingegneria Meccanica Appunti del corso

e il punto medio dell’intervallo [a, b]. La formula che si ottiene è quindi:

ISS (f) =b− a

6

[f(a) + f(b) + 4f(x)

]x =

b+ a

2

Nel caso della formula composita vengono scelti gli estremi di ogni sotto-intervalloe il punto medio di ciascuno di essi. Nel caso di nodi equidistanti si ottiene:

ICS (f) =H

6

n∑k=1

[f(xk−1) + f(xk) + 4f(xk)

]xk =

xk + xk−1

2H =

b− a

n

Teorema 4.1.6 (Errori formula di quadratura di Cavalieri-Simpson). Data unafunzione f ∈ C4([a, b]) allora si ha che l’errori formula di quadratura di Cavalieri-Simpson semplice è pari a:

eCS (f) = I(f)− ICS (f) = −(b− a)5

2880f (4)(ξ) ξ ∈ [a, b]

Mentre per quella composita l’errore è pari a:

eCC(f) = I(f)− ICC (f) = −b− a

2880H4f (4)(ζ) ζ ∈ [a, b]

Questa volta il grado di esattezza della formula è pari a tre, mentre l’ordine diconvergenza dell’errore è quattro. Inoltre la costante a denominatore fa si che glierrori della formula di Cavalieri-Simpson siano notevolmente più piccoli rispettoalle altre due formule di quadratura.

4.1.4 Formule interpolanti

Come già ampiamente espresso nei paragrafi precedenti, le formule di quadraturaderivano tutte quante da funzioni interpolanti.

A questo punto è necessario generalizzare questo concetto, considerando una

74

Page 93: Appunti del corso di Metodi analitici e numerici...Politecnico di Milano Scuola di Ingegneria Industriale e dell’Informazione Corso di studi in Ingegneria Meccanica Appunti del corso

Tabella 4.1: Esempio di tabaulazione dei pesi e nodi di quadratura dalla formula diCavalieri-Simpson.

Pesi di quadratura Nodi di quadratura

y0 = a α0 = (b− a)/6

y1 = (a+ b)/2 α1 = 2(b− a)/3

y2 = b α2 = (b− a)/6

generica funzione interpolante f . In generale si può scrivere:

Iq(f) = I(f) =n∑

j=0

αjf(yj)

dove l’insieme degli αjnj=0 raccoglie tutti gli n + 1 pesi di quadratura, che sonofigli della funzione interpolante utilizzata, mentre yjnj=0 sono i nodi di quadraturanecessari alla formula.

Grazie a questa tipologia di formulazione è possibile tabulare i valori αj e yj

relativi metodo utilizzato e calcolati sull’intervallo standard [−1, 1]. Durante l’ese-cuzione dell’algoritmo questi vengono richiamati e adattati all’intervallo generico[a, b].

αj =b− a

2αj yj =

b− a

2yj +

a+ b

2

Nella Tab. 4.1 sono riportati, a titolo di esempio, pesi e nodi della formula diCavalieri-Simpson.

Definizione 4.1.3 (formule di Newton-Côtes). Se le formule di quadratura sonocostruite attraverso una funzione f polinomiale, allora vengono chiamate formuledi Newton-Côtes.

Teorema 4.1.7 (Grado di esattezza delle formule di Newton-Côtes). Si osservache per le formule di Newton-Côtes costruite con un polinomio di grado r dispariil grado di esattezza è r+ 1, mentre se r è dispari, allora il grado di esattezza è r.

Questa proprietà è già stata incontrata e analizzata nei paragrafi precedenti,relativi alle formule del punto medio e Cavalieri-Simpson (di grado dispari) e dei

75

Page 94: Appunti del corso di Metodi analitici e numerici...Politecnico di Milano Scuola di Ingegneria Industriale e dell’Informazione Corso di studi in Ingegneria Meccanica Appunti del corso

Tabella 4.2: Polinomi di Legendre per n ≤ 6.

Grado Polinomio

0 L0(x) = 1

1 L1(x) = x

2 L2(x) =12(3x2 − 1)

3 L3(x) =12(5x3 − 3x)

4 L4(x) =18(35x4 − 30x2 − 3)

5 L5(x) =18(63x5 − 70x3 − 15x)

6 L6(x) =116(231x6 − 315x4 + 105x2 − 5)

trapezi (di grado pari).

4.1.5 Formule di quadratura gaussiane

Questa tipologia particolare di formule di quadratura si basa sulla ricerca di inter-valli non equispaziati tali da rendere il grado di esattezza il massimo raggiungibile.

Formule di Gauss-Legendre

La funzione integranda f(x) è approssimata da un particolare tipo di polinomi,cioè i polinomi di Legendre Lk(x)n+1

k=0 .

Definizione 4.1.4 (Polinomi di Legendre). Si definisce polinomio di LegendreLn(x) un polinomio di grado n calcolato ricorsivamente come:

L0(x) = 1 L1(x) = x

Lk+1(x) =2k + 1

k + 1Lk(x)−

k

k + 1Lk−1(x)

I primi sette polinomi di Legendre sono riportati nella Tab.4.2 e sono graficatinella Fig. 4.1.

76

Page 95: Appunti del corso di Metodi analitici e numerici...Politecnico di Milano Scuola di Ingegneria Industriale e dell’Informazione Corso di studi in Ingegneria Meccanica Appunti del corso

−1.5 −1 −0.5 0.5 1 1.5

−1

1

x

y

Figura 4.1: Rappresentazione grafica dei polinomi di Legendre di grado ≤ 6. Inparticolare il polinomio di grado zero è blu, quello di grado uno rosso, verde quellodi grado 3, rosa quello di quarto grado, magenta quello di quinto e infine azzurro ilpolinomio di Legendre di sesto grado.

Si può dimostrare che questi polinomi sono tutti ortogonali sull’intervallo [−1, 1]

e che sono una base dello spazio vettoriale Pn. Inoltre questi polinomi sono di gran-de utilità nel calcolo numerico degli integrali. Infatti si può scrivere la formula diquadratura gaussiana associata come:

IGLn (f) =

n∑j=0

αGLj f(yGL

j )

in cui le quantità yGLj nj=0, da adattare all’intervallo [a, b], sono gli zeri del

polinomio di Legendre di grado n+ 1, ossia:

yGLj

.= x | Ln+1(x) = 0 ∀j = 0, 1, . . . , n

mentre i pesi reali positivi αGLj nj=0 si calcolano come:

αGLj =

2[1− (yGL

j )2][L′n+1(y

GLj )]2 ∀j = 0, 1, . . . , n

Questi dati possono essere calcolati su un intervallo standard, tabulati in ma-trici e richiamati dal metodo quando necessario. Un esempio di tabulazione èriportato nella Tab. 4.3. Usando questi dati per risolvere la formula di quadratura

77

Page 96: Appunti del corso di Metodi analitici e numerici...Politecnico di Milano Scuola di Ingegneria Industriale e dell’Informazione Corso di studi in Ingegneria Meccanica Appunti del corso

Tabella 4.3: Nodi, pesi e grado di esattezza si alcune formule di quadratura di Gauss-Legendre. I pesi corrispondenti a nodi simmetrici rispetto allo zero sono riportati unasola volta.

n Nodi Pesi r

0 0 2 1

1 ± 1√3

1 3

2 0, ±√155

59, 8

95

... ... ... ...

gaussiana si ha sempre grado di esattezza pari a r = 2n+ 1.

Formule di Gauss-Legendre-Lobatto

Queste formule sono analoghe alle formule di Gauss-Legendre (Sez. 4.1.5), con lasola differenza che il primo e l’ultimo nodo hanno valore fissato, indipendentementedal valore di n:

y0 = −1 yn = −1

Questo vincolo ovviamente porta benefici di calcolo, al netto di una riduzione delgrado di esattezza del metodo, che passa da r = 2r + 1 a r = 2r − 1.

Sull’ambiente MATLAB® sono definite alcune funzioni utili al calcolo degliintegrali definiti:

I = integral(fun, a, b)

dove I è il risultato dell’integrazione, fun la funzione integranda, a e b gli estremidi integrazione. Inoltre è definita anche la funzione per variabili simboliche, ingrado di calcolare la primitiva F della funzione f:

F = int(f,var)

4.2 Derivazione numerica

Si consideri una funzione f(x) : [a, b] ⊆ R −→ R, derivabile sull’intervallo.La sua derivata prima è definita, sull’intervallo [a, b] come limite del rapporto

78

Page 97: Appunti del corso di Metodi analitici e numerici...Politecnico di Milano Scuola di Ingegneria Industriale e dell’Informazione Corso di studi in Ingegneria Meccanica Appunti del corso

incrementale:limh→0

f(x+ h)− f(x)

h∀x ∈ [a, b]

Questo concetto è valido per tutti i metodi analitici per lo studio di funzione,ma non è applicabile alle funzioni definite sui calcolatori, visto che essi sono affettida errori di risoluzione e men che meno hanno la capacità di astrarre il concettodi limite. Per queste ragioni vanno trovati dei metodi di calcolo di tipo discreto,in grado di approssimare le derivate.

4.2.1 Calcolo della derivata prima

Nonostante non si possa utilizzare il concetto di limite sui calcolatori, si può co-munque trovare una sorta di rapporto incrementale discreto. Tale metodo, cheprende il nome di differenze finite, è definito sulla base di diverse versioni.

Definizione 4.2.1 (Differenze finite in avanti). Usando una differenza finita po-sitiva delle ascisse, si ottiene la differenza finita in avanti:

f ′(x) ≃ δ+f(x).=

f(x+ h)− f(x)

hcon h > 0

Definizione 4.2.2 (Differenze finite in indietro). Usando una differenza finitanegativa delle ascisse, si ottiene la differenza finita in indietro:

f ′(x) ≃ δ−f(x).=

f(x)− f(x− h)

hcon h > 0

Definizione 4.2.3 (Differenze finite centrate). Usando sia una differenza finitapositiva sia una differenza finita negativa delle ascisse, si ottiene la differenza finitacentrata:

f ′(x) ≃ δCf(x).=

f(x+ h)− f(x− h)

2hcon h > 0

Teorema 4.2.1 (Consistenza e convergenza metodi delle differenze finite). Tuttie tre i metodi delle differenze finite sono consistenti e convergono alla derivataprima:

limh→0

δf(x) = f ′(x)

79

Page 98: Appunti del corso di Metodi analitici e numerici...Politecnico di Milano Scuola di Ingegneria Industriale e dell’Informazione Corso di studi in Ingegneria Meccanica Appunti del corso

Dimostrazione 4.2.1 (Consistenza e convergenza metodi delle differenze finite).La dimostrazione del Teo. 4.2.1 è immediata: per verificare che il metodo siaconsistente (Def. 3 a pagina XII) si passa al limite delle differenze finite, checoincide con la definizione di derivata prima: essendo il metodo consistente lasoluzione converge sempre.

Teorema 4.2.2 (Errori delle differenze finite in avanti e in indietro). Sia la fun-zione f ∈ C2(Ix) gli errori delle differenze finite in avanti e all’indietro sono dateda:

E+f(x) = f ′(x)− δ+f(x) = −h

2f ′′(ξ+) ξ+ ∈ [x, x+ h]

E−f(x) = f ′(x)− δ−f(x) = −h

2f ′′(ξ−) ξ− ∈ [x− h, x]

Ciò implica che tutti polinomi di grado minore o uguale a uno vengono derivatiin modo esatto dalle differenze finite in avanti o all’indietro:

E+p(x) = E−p(x) ≡ 0 ∀p(x) ∈ P1

Dimostrazione 4.2.2 (Errore differenze finite in avanti). L’errore come al solitopuò essere definito come differenza tra la derivata vera e la sua approssimazione:

E+f(x) = f ′(x)− δ+f(x) = f ′(x)− f(x+ h)− f(x)

h

Espandendo in serie di Taylor la funzione f(x+ h) al primo ordine, si ottiene:

E+f(x) = f ′(x)−f(x) + f ′(x)h+ f ′′(ξ)

2h2 − f(x)

2= −f ′′(ξ)

2h2 ξ ∈ [x, x+ h]

Teorema 4.2.3 (Errori delle differenze finite centrate). Sia la funzione f ∈ C3(Ix)

gli errori delle differenze finite centrate sono dati da:

ECf(x) = f ′(x)− δCf(x) = − h

12

[f ′′′(ξ+) + f ′′′(ξ+)

]ξ+ ∈ [x, x+ h] ξ− ∈ [x− h, x]

80

Page 99: Appunti del corso di Metodi analitici e numerici...Politecnico di Milano Scuola di Ingegneria Industriale e dell’Informazione Corso di studi in Ingegneria Meccanica Appunti del corso

Dimostrazione 4.2.3 (Errori delle differenze finite centrate). L’errore di ap-prossimazione è esprimibile come differenza tra la derivata nel punto e la suaapprossimazione:

ECf(x) = f ′(x)− δCf(x)

Sviluppando in serie di Taylor i termini f(x+ h) e f(x− h) si ottiene:

ECf(x) = f ′(x)− 1

2h

[f(x) + f ′(x)h+

1

2f ′′(x)h2 +

1

6f ′′′(ξ+)h

3+

− f(x) + f ′(x)h− 1

2f ′′(x)h2 +

h2

6f ′′′(ξ−)h

3]= − 1

12

[f ′′′(ξ+) + f ′′′(ξ−)

]A differenza delle differenze finite in avanti o all’indietro, le differenze finite

centrate derivano tutti polinomi di grado minore o uguale a due vengono derivatiin modo esatto:

ECp(x) ≡ 0 ∀p(x) ∈ P2

Per quanto riguarda gli ordini di convergenza di può facilmente affermare chele differenze finite in avanti e all’indietro convergono linearmente, mentre quellecentrate con ordine due.

4.2.2 Calcolo della derivata seconda

Per l’approssimazione numerica della derivata seconda si utilizza un procedimentodel tutto analogo a quelli analizzati per il calcolo della derivata prima.

Definizione 4.2.4 (Differenze finite centrate per derivate seconde). Usando lavalutazione della funzione nel punto, la differenza finita in avanti e in indietro siottiene:

f ′′(x) = δ2Cf(x) =f(x+ h)− 2f(x) + f(x− h)

h2

Teorema 4.2.4 (Differenze finite centrate per derivate seconde). Se la funzionef ∈ C4(Ix) allora l’errore del metodo è:

E2Cf(x) = f ′′(x)− δ2Cf(x) = −h2

24

[f (4)(ξ+) + f (4)(ξ−)

]ξ+ ∈ [x, x+ h] ξ− ∈ [x− h, x]

81

Page 100: Appunti del corso di Metodi analitici e numerici...Politecnico di Milano Scuola di Ingegneria Industriale e dell’Informazione Corso di studi in Ingegneria Meccanica Appunti del corso

Dimostrazione 4.2.4 (Differenze finite centrate per derivate seconde). Anco-ra una volta l’errore è definito come differenza tra la derivata seconda e la suaapprossimazione numerica:

ECf(x) = f ′′(x)− δ2Cf(x)

Questa volta si procedere con lo sviluppo in serie di Taylor per i termini f(x+ h)

e f(x− h) fino al terzo ordine (è consentito farlo perché i termini di ordine due sielidono a vicenda):

E2C(f(x)) = f ′′(x)− δ2C(x) =

= f ′′(x)− 1

h2

[f(x) + f ′(x)h+

1

2f ′′(x)h2 +

1

6f ′′′(x)h3+

+1

24f (4)(ξ+)h

4 − 2f(x) + f(x)− f ′(x)h+

+1

2f ′′(x)h2 − 1

6f ′′′(x)h3 +

1

24f (4)(ξ−)h

4]

Svolgendo tutti i calcoli, si ottiene:

E2Cf(x) = f ′′(x)− δ2Cf(x) = −h2

24

[f (4)(ξ+) + f (4)(ξ−)

]ξ+ ∈ [x, x+ h] ξ− ∈ [x− h, x]

Il metodo discende direttamente dalle differenze finite centrate, quindi avràla medesima tipologia di convergenza, cioè quadratica. A differenza del metodoprecedente le differenze finite per la derivata seconda riescono a derivare in modoesatto tutte i polinomi di grado minore o uguale a tre.

All’interno dell’ambiente MATLAB® è disponibile una funzione per il calcolodelle differenze finite:

df = diff(f)

dove f è un vettore dove sono salvati tutte le valutazioni di una certa funzione,mentre nel vettore df verranno calcolate tutte le differenze tra gli elementi suc-cessivi del vettore di input. Questa funzione non calcola la differenza finita della

82

Page 101: Appunti del corso di Metodi analitici e numerici...Politecnico di Milano Scuola di Ingegneria Industriale e dell’Informazione Corso di studi in Ingegneria Meccanica Appunti del corso

funzione: per ottenere l’algoritmo basta dividere ogni punto del vettore per ladistanza h che c’è fra ogni punto.

83

Page 102: Appunti del corso di Metodi analitici e numerici...Politecnico di Milano Scuola di Ingegneria Industriale e dell’Informazione Corso di studi in Ingegneria Meccanica Appunti del corso

Capitolo 5

Equazioni differenziali ordinarie

Un’equazione differenziale ordinaria (abbreviata spesso in ODE. Ordinary Diffe-rential Equation) è un’equazione che lega una funzione incognita alle sue derivate.In generale si dice che l’equazione è di n-esimo ordine se l’equazione può essere ri-scritta come una funzione di una variabile indipendente t, della funzione incognitay(t) e delle sue derivate fino all’ordine n calcolate rispetto alla variabile t:

F (t, y,dy

dt,d2y

dt2, . . . ,

dny

dtn) = 0

La soluzione dell’equazione è una funzione a variabile reale, definita su unintervallo I:

y(t) : I = [t0, tf ] ⊂ R −→ R

5.1 Problemi di Cauchy

Un problema differenziale non è completo se non sono presenti anche le condizioniiniziali del problema:

y(k)(t)∣∣t0= y0,k ∀k = 0, 1, . . . , n− 1

Definizione 5.1.1 (Problema di Cauchy di primo ordine). Dato un intervalloI = [t0, ff ] ⊂ R il problema di Cauchy di primo ordine consiste nel trovare una

84

Page 103: Appunti del corso di Metodi analitici e numerici...Politecnico di Milano Scuola di Ingegneria Industriale e dell’Informazione Corso di studi in Ingegneria Meccanica Appunti del corso

funzione y(t) : I ⊂ R −→ R tale che:y′(t) = f(t, y)

y(t0) = y0∀t ∈ I (5.1)

È importante sottolineare che la funzione f , che non è l’incognita del problema,ma solo il legame tra t, y e la sua derivata, è una funzione definita come:

f(t, y(t)

): I × R −→ R

Quindi di per sé la funzione y(t) potrebbe essere definita su tutto R, ma è interes-sante ai fini del problema analizzarla solo sull’intervallo I.

Teorema 5.1.1 (Integrale del problema di Cauchy di primo ordine). Se la funzionef ∈ C0(I × R) e f(t, y) = g(t) allora la soluzione al problema di Cauchy di primoordine può essere sempre scritta come:

y(t) =

∫ tf

t0

f(τ, y(τ)

)dτ + y0

Dimostrazione 5.1.1 (Integrale del problema di Cauchy di primo ordine). Dallaprima equazione del problema di Cauchy (Eq. 5.1) è possibile scrivere:

dy = f(τ, y(τ))dτ = g(τ)dτ

A questo punto si può integrare in modo definito usando come estremi di integra-zione le condizioni iniziali del problema e le condizioni all’istante t:∫ y(t)

y0

dy =

∫ t

t0

g(τ)dτ ∀t ∈ I

Dato che y(t) ∈ C(I) per definizione di problema di Cauchy il primo integrale èpari a y(t)− y0 da cui segue che:

y(t) =

∫ tf

t0

g(τ)dτ + y0

85

Page 104: Appunti del corso di Metodi analitici e numerici...Politecnico di Milano Scuola di Ingegneria Industriale e dell’Informazione Corso di studi in Ingegneria Meccanica Appunti del corso

5.1.1 Problema modello

Il problema modello è un particolare tipologia di ODE. di primo ordine, moltofacile da risolvere. Tale problema è molto spesso utilizzato per analizzare i metodinumerici per la risoluzione di equazioni differenziali (da qui il nome). Esso èdefinito come: y(t) = λy

y(t0) = y0∀t ∈ I ⊂ R λ ∈ R− (5.2)

La soluzione a questo problema è facilmente ottenibile tramite la tecnica delleseparazione delle variabili:

dy

dt= λy =⇒

∫ y(t)

y0

dy

y=

∫ t

t0

λdτ

Risolvendo gli integrali si ottiene la soluzione:

y(t) = y0eλ(t−t0)

Dato che il numero reale λ è minore di zero, la soluzione dell’equazione y(t) tenderàad annullarsi per alti valori di t:

limt→+∞

y(t) = 0

Generalizzando questo problema per valori si λ ∈ C la soluzione può essereriscritta come:

y(t) = y0e[ℜ(λ)+iℑ(λ)](t−t0)

= y0eℜ(λ)(t−t0)

[cos(ℑ(λ)(t− t0)

)+ i sin

(ℑ(λ)(t− t0)

)]Quindi in questo caso si he che:

limt→+∞

y(t) = 0 ⇐⇒ ℜ(λ) < 0

86

Page 105: Appunti del corso di Metodi analitici e numerici...Politecnico di Milano Scuola di Ingegneria Industriale e dell’Informazione Corso di studi in Ingegneria Meccanica Appunti del corso

5.1.2 Soluzione all’equilibrio

Si consideri un problema di Cauchy del tipo:

f(t, y) = f(y) ∀t ∈ I

Si assuma anche che la funzione f ∈ C1(I). Il problema di Cauchy associatoall’equazione (chiamata equazione logistica) è definito da:y = f(t)

y(t0) = y0∀t ∈ I

Definizione 5.1.2 (Soluzione di equilibrio). Se per un certo valore della funzioneincognita y(t) si ha che la funzione f(y) è nulla:

y(t)∣∣ f(y(t)) = 0

allora la soluzione y(t) è detta soluzione di equilibrio. In queste condizioni, vistala natura del problema, la soluzione sarà per forza di cose una costante:

y(t) = f(y(t)) = 0 ∀t ∈ I ⇐⇒ y(t) = cost

Esempio 5.1.1 (Calcolo soluzioni di equilibrio). Sia f(y) = αy(1 − yβ), con le

costanti α, β ∈ R+. Il problema di Cauchy associato sarà quindi:y = αy

(1− y

β

)y(t0) = y0

∀t ∈ I

Le soluzioni di equilibrio del problema si trovano azzerando la funzione f(y):

y1 = 0 y2 = β

A questo punto sono distinguibili tre diversi intervalli: (−∞, y1], (y1, y2) e [y2,+∞).

• Se la condizione iniziale y0 = y(t0) < y1, allora la funzione tenderà a

87

Page 106: Appunti del corso di Metodi analitici e numerici...Politecnico di Milano Scuola di Ingegneria Industriale e dell’Informazione Corso di studi in Ingegneria Meccanica Appunti del corso

divergere, poiché la derivata della funzione risulta monotona decrescentey = f(y) < 0.

• Allo stesso modo se il dato iniziale y0 = y(t0) > y2 la funzione sarà an-cora monotona decrescente, ma essendo la soluzione di equilibrio più pic-cola della condizione iniziale, allora la soluzione y(t) tenderà a raggiungereasintoticamente la soluzione y2.

• Infine se la condizione iniziale y0 = y(t0) ∈ (y1, y2) allora la soluzione saràmonotona crescente e raggiungerà la soluzione di equilibrio y2.

L’esempio dimostra che la stabilità della soluzione a un’equazione differenzialedipende dal segno della funzione f(y) in un intorno del dato iniziale. Formalizzandoquesta regola si ottiene la Def. 5.1.3.

Definizione 5.1.3 (Soluzione di un’equazione differenziale stabile). La soluzioney è una soluzione di un’equazione stabile se:

∀ε > 0 ∃ δ(ε) > 0∣∣ |y0 − y| < δ(ε)

Ossia se si ha un intervallo δ(ε) tale per cui ogni condizione iniziale y0 appartenenteall’intervallo non faccia si che la soluzione ad essa associata diverga. In formule,questo concetto si esprime come:

|y(t)− y| < ε ∀t ∈ I

Definizione 5.1.4 (Equazione asintoticamente stabile). Se un’equazione differen-ziale stabile ha limite per t tendente a infinito:

limt→+∞

y(t) = y

allora si dice che l’equazione è asintoticamente stabile.

Teorema 5.1.2 (Condizioni per l’assoluta stabilità). Data una funzione f ∈ C1(I)

tale che f(y) = 0 e f ′(y) = 0, se:

• f ′(y) < 0 allora l’equazione è asintoticamente stabile;

• f ′(y) > 0 allora l’equazione è instabile;

88

Page 107: Appunti del corso di Metodi analitici e numerici...Politecnico di Milano Scuola di Ingegneria Industriale e dell’Informazione Corso di studi in Ingegneria Meccanica Appunti del corso

5.1.3 Esistenza e unicità soluzione del problema di Cauchy

Il problema di Cauchy ammette l’esistenza di una sola soluzione solamente sela funzione f(t, y) che descrive l’equazione differenziale ha certe proprietà. Siconsideri dunque il problema di Cauchy in forma normale (cioè quando la funzionef esplicita la derivata di ordine massimo presente nell’equazione):y = f(t, y)

t(t0) = y0∀t ∈ I

Teorema 5.1.3 (Esistenza della soluzione al problema di Cauchy). Se la funzionef(t, y) : I × J −→ R, che descrive l’equazione differenziale in forma normale, ècontinua sull’intervallo I × J , dove J ⊆ R è l’insieme su cui è definita la soluzioney(t) allora esiste almeno una soluzione al problema dato.

Definizione 5.1.5 (Funzione localmente Lipschitz). Una funzione f : I×J −→ Rè lipschitziana (di Lipschitz o anche solo LIP.) se:

∃L ∈ R+∣∣ |f(t, y1)− f(t, y2)| < L|y1 − y2|

∀y1, y2 ∈ J

∀t ∈ I

La proprietà di una funzione di essere localmente Lipschitz implica che i rap-porti incrementali della funzione sono limitati almeno su un intervallo J ⊆ R.Questo concetto presuppone la continuità di f(y): infatti, dato che è possibilescegliere arbitrariamente i valori di y1 e y2:

|y1 − y2|y1→y2−−−→ 0+ =⇒ |f(t, y1)− f(t, y2)|

y1→y2−−−→ 0+ ∀t ∈ I

f(t, y1)y1→y2−−−→ f(t, y2) ∀t ∈ I

Nonostante sia garantita la continuità, la derivabilità rimane comunque una pro-prietà ulteriore, non garantita dalla proprietà di essere Lipschitz. Infatti possonoesistere funzioni LIP. che però non sono derivabili: un esempio è rappresentatodalla funzione f(x) = |x|.

89

Page 108: Appunti del corso di Metodi analitici e numerici...Politecnico di Milano Scuola di Ingegneria Industriale e dell’Informazione Corso di studi in Ingegneria Meccanica Appunti del corso

Teorema 5.1.4 (Esistenza e unicità locale per la soluzione del problema di Cau-chy). Sia f una funzione f : I × J −→ R, se la funzione è continua su entrambigli argomenti e localmente Lipschitz nel secondo argomento allora la soluzione delproblema di Cauchy ad essa associata esiste ed è unica.

Questo ragionamento può facilmente essere ampliato a livello globale, esten-dendo l’intervallo J a tutto R.

Definizione 5.1.6 (Funzione globalmente di Lipschitz). Una funzione genericaf : I × R −→ R è lipschitziana se:

∃L ∈ R+∣∣ |f(t, y1)− f(t, y2)| < L|y1 − y2|

∀y1, y2 ∈ R∀t ∈ I

Teorema 5.1.5 (Esistenza e unicità globale per la soluzione del problema diCauchy). Sia f una funzione definita I × R −→ R, se la funzione è continuasu entrambi gli argomenti e localmente Lipschitz nel secondo argomento allora lasoluzione del problema di Cauchy ad essa associato esiste ed è unica su tutto R.

Teorema 5.1.6 (Lipschitz e derivabilità). Se la funzione f(t, y) è derivabile nelsecondo argomento allora è anche Lipschitz.

Dimostrazione 5.1.2 (Lipschitz e derivabilità). Se la funzione f(t, y) è derivabilein y allora la variazione |f(t, y1)− f(t, y2)|, può essere riscritta tramite l’uso delvalor medio di Lagrange (Teo. 2.4.2 a pagina 41):

|f(t, y1)− f(t, y2)| =∣∣∣∣∂f∂y (t, ξ)(y1 − y2)

∣∣∣∣ ξ ∈ [y1, y2]

Andando a riscrivere l’espressione ottenuta tramite le proprietà del valore assoluto,si ottiene:

|f(t, y1)− f(t, y2)| ≤ maxt∈Iy∈R

∣∣∣∣∂f∂y (t, y)∣∣∣∣|y1 − y2| = L|y1 − y2| ξ ∈ [y1, y2]

Nell’ultimo passaggio si è maggiorata la derivata parziale valutata in t e ξ con il suomassimo assoluto. Questo è lecito farlo perché essendo f ∈ C1 in y la sua derivata

90

Page 109: Appunti del corso di Metodi analitici e numerici...Politecnico di Milano Scuola di Ingegneria Industriale e dell’Informazione Corso di studi in Ingegneria Meccanica Appunti del corso

è continua su tutto l’intervallo e limitata sull’intervallo chiuso e limitato [y1, y2]

e quindi per il teorema di Weierstrass ammette massimo e minimo assoluti. Ilmassimo è una costante di R e quindi si ritrova la definizione di funzione Lipschitz(Def. 5.1.6).

5.1.4 Stabilità del problema di Cauchy

A questo punto è necessario chiedersi come cambia la soluzione a un problema diCauchy assegnato a fronte di una perturbazione dei dati.y(t) = f

(t, y(t)

)y(t0) = y0

−→

z(t) = f(t, z(t)

)+ δ(t)

y(t0) = y0 + δ0

in cui z(t) è la soluzione del problema perturbato, mentre δ0 e δ(t) sono le pertur-bazioni sui dati.

Definizione 5.1.7 (Stabilità di Ljapunov). Un problema si dice stabile nel sensodi Ljapunov se:

∀δ0, δ(t)∣∣ |δ(t)| < ε con ε > 0

∃ c > 0∣∣ |y(t)− z(t)| < c ε ∀t ∈ I

con ε tale da permettere l’esistenza di z(t). Inoltre, si dice che il problema èasintoticamente stabile quando la soluzione perturbata tende alla soluzione nonperturbata.

È importante notare che se un problema di Cauchy è stabile, allora auto-maticamente è anche ben posto, pertanto si sa già che la soluzione esiste ed èunica.

Teorema 5.1.7 (Lemma di Gronwall). Siano g, w ∈ C0([t0, t]) e φ(t), ∀t ∈ [t0, tf ];se:

w(t) ≤ g(t) +

∫ t

t0

w(τ)φ(τ)dτ

91

Page 110: Appunti del corso di Metodi analitici e numerici...Politecnico di Milano Scuola di Ingegneria Industriale e dell’Informazione Corso di studi in Ingegneria Meccanica Appunti del corso

allora:w(t) ≤ g(t) e

∫ tt0

φ(τ)dτ

Dimostrazione 5.1.3 (Stabilità di Ljapunov). La dimostrazione si basa sulleipotesi già fatte per il teorema di esistenza e unicità della soluzione del problemadi Cauchy (Teo. 5.1.5). Si definisce w(t)

.= z(t) − g(t), cioè come differenza che

c’è tra la funzione soggetta alla perturbazione e la funzione imperturbata. Neconsegue che:

w(t) = z(t)− g(t) = f(t, z) + δ(t)− f(t, y)

Integrando su t si ottiene l’espressione:

w(t) = w(t0) +

∫ t

t0

w(τ)dτ

= δ0 +

∫ t

t0

[f(τ, z)− f(τ, y)

]dτ −

∫ t

t0

δ(τ)dτ

Maggiorando l’espressione attraverso i moduli e tenendo presente che la funzionef è LIP., si ottiene:

|w(t)| ≤ |δ0|+∫ t

t0

|f(τ, z)− f(τ, y)|dτ +

∫ t

t0

|δ(τ)|dτ

≤ |δ0|+∫ t

t0

|δ(τ)|dτ + L

∫ t

t0

|z(τ)− y(τ)|dτ

Ora, per ipotesi si ha che |δ(t)| < ε e chiamando |δ0| = ε si ha che:

|w(t)| ≤ ε+ ε

∫ t

t0

|δ(τ)|dτ + L

∫ t

t0

|z(τ)− y(τ)|dτ

≤ ε(1 + |t− t0|) + L

∫ t

t0

|z(τ)− y(τ)|dτ

Applicando il Teo. 5.1.7 (usando φ ≡ L):

|w(t)| ≤ ε(1 + |t− t0|)e∫ tt0

Ldτ ≤ C(t)ε

Infine dato che la funzione C(t) è limitata sull’intervallo I = [t0, tf ] si può definire

92

Page 111: Appunti del corso di Metodi analitici e numerici...Politecnico di Milano Scuola di Ingegneria Industriale e dell’Informazione Corso di studi in Ingegneria Meccanica Appunti del corso

un massimo:C = max

t∈I

C(t)

5.2 Sistemi di equazioni differenziali

I sistemi di equazioni differenziali sono molto utili in campo scientifico, per duediversi motivi:

1. permettono di risolvere i problemi di Cauchy vettoriali di primo ordine;

2. permettono di ricondurre le equazioni differenziali ordinarie di grado n (vet-toriali o scalari) a un problema di Cauchy vettoriale di primo ordine.

Definizione 5.2.1 (Equazione differenziale vettoriale di primo ordine). Si de-finisce equazione differenziale vettoriale di primo ordine un’uguaglianza tra unafunzione vettoriale incognita e la sua derivata di ordine primo:

F(t,y(t), y(t)) = 0

dove è una funzione del tipo y(t) : I ⊆ Rm −→ Rm con m ≥ 1. Inoltre la funzionevettoriale F, può sempre essere scritta sotto forma di matrice:

F : I × Rm −→ Rm

F =

f1(t, y1, y2, . . . , ym)

f2(t, y1, y2, . . . , ym)...

fm(t, y1, y2, . . . , ym)

Definizione 5.2.2 (Problema di Cauchy vettoriale di primo ordine). Si definisceproblema di Cauchy vettoriale di primo ordine:y = F(t,y)

y(t0) = y0

∀t ∈ I

93

Page 112: Appunti del corso di Metodi analitici e numerici...Politecnico di Milano Scuola di Ingegneria Industriale e dell’Informazione Corso di studi in Ingegneria Meccanica Appunti del corso

A questo punto tutti i ragionamenti fatti per le equazioni differenziali di primoordine possono essere ripetuti tali e quali per le equazioni differenziali vettoriali.

Definizione 5.2.3 (Funzione vettoriale di Lipschitz). Si definisce funzione vetto-riale localmente di Lipschitz una funzione tale che:

∃L ∈ R+∣∣ ∥F(t,y1)− F(t,y2)∥ < L∥y1 − y2∥ ∀y1,y2 ∈ J ∀t ∈ I

Se poi J ≡ R la funzione si dice globalmente di Lipschitz.

Teorema 5.2.1 (Esistenza e unicità locale). Data una funzione F(t,y) ∈ C0(I ×Rm) e di Lipschitz continua (localmente o globalmente) nel secondo argomento,esiste una sola soluzione al problema di Cauchy associato.

Definizione 5.2.4 (Problema modello generalizzato). Si chiama problema modellogeneralizzato alle equazioni vettoriali il problema di Cauchy:y(t) = Ay(t)

y(t0) = y0

∀t ∈ I

dove la matrice A è una matrice a coefficienti costanti appartenente allo spazioRm × Rm.

La soluzione al problema modello sarà data, ancora una volta dall’equazione:

y =m∑j=1

Cjeλj(t−t0)vj

dove λjmj=1 e vjmj=1 sono rispettivamente gli autovalori e gli autovettori asso-ciati alla matrice A. Infine si ha che se tutti gli autovalori di A hanno parte realenegativa, allora la soluzione è asintoticamente stabile e converge a zero:

ℜλj

mj=1

< 0 ⇐⇒ limt→+∞

y = 0

5.2.1 Equazioni differenziali ordinarie di ordine n

Prima di analizzare le equazioni differenziali di ordine n si analizzano le equazionidi secondo ordine; queste sono delle uguaglianze tra una funzione incognita e le

94

Page 113: Appunti del corso di Metodi analitici e numerici...Politecnico di Milano Scuola di Ingegneria Industriale e dell’Informazione Corso di studi in Ingegneria Meccanica Appunti del corso

sue derivate di primo e secondo ordine. In forma normale l’equazione si scrive:

y(t) = f(t, y, y) ∀t ∈ [t0, tf ]

Definizione 5.2.5 (Problema di Cauchy di secondo ordine). Si definisce problemadi Cauchy di secondo ordine il problema:

y(t) = f(t, y, y)

y(t0) = y1

y(t0) = y0

∀t ∈ [t0, tf ]

Si nota subito dalla definizione che la funzione f è definita su un dominio didimensione superiore rispetto a prima:

f(t, y, y) : I × R× R −→ R

Come si è preannunciato nel paragrafo precedente, per analizzare e risolvere iproblemi con equazioni di secondo grado è sufficiente usare i sistemi di equazionidifferenziali di primo ordine. Si consideri la funzione v(t) definita come:

v(t) = y ∀t ∈ I

Tramite l’imposizione di questo vincolo si può riscrivere l’equazione differenzialecome y(t) = f(t, y, v) e conseguentemente il problema di Cauchy diventa:

v(t) = f(t, y, v)

y(y) = v

v(t0) = v0 = y1

y(t0) = y0

∀t ∈ I

Questo ragionamento può essere generalizzato alle equazioni differenziali scalari

95

Page 114: Appunti del corso di Metodi analitici e numerici...Politecnico di Milano Scuola di Ingegneria Industriale e dell’Informazione Corso di studi in Ingegneria Meccanica Appunti del corso

di ordine n. Si consideri ad esempio un problema di Cauchy del tipo:

y(n) = f(t, y, y′, . . . , y(n−1))

yn−1(t0) = yn−1

...

y1(t0) = y1

y0(t0) = y0

∀t ∈ I

In questo caso è possibile riscrivere l’intero sistema tramite l’ausilio di unn vettoredi stato, del tipo:

z(t) =(y(n−1)(t), y(n−2)(t), . . . , y′(t), y(t)

)T

Quindi il problema di Cauchy diventa:z(t) = f(t, z(t))

z(t0) = z0

Tale formulazione equivale a un problema di Cauchy differenziale vettoriale del pri-mo ordine: una volta risolto, l’ultima componente del vettore z(t) sarà la funzioneincognita y(t).

5.2.2 Sistemi di equazioni differenziali vettoriali di ordinen

Definizione 5.2.6 (Equazione differenziale vettoriale di ordine n). Si definisceequazione differenziale vettoriale un’uguaglianza tra una funzione vettoriale inco-gnita e le sue derivate di ordine inferiore o uguale a n:

F(t,y(t), y(t), y(t), . . . ,y(n)(t)) = 0

96

Page 115: Appunti del corso di Metodi analitici e numerici...Politecnico di Milano Scuola di Ingegneria Industriale e dell’Informazione Corso di studi in Ingegneria Meccanica Appunti del corso

dove è una funzione incognita del tipo y(t) : I ⊆ Rm −→ Rm con m ≥ 1, le cuicomponenti sono funzioni del tipo:

y =(x1(t), x2(t), . . . , xm(t)

)mentre la funzione vettoriale è una funzione del tipo: F : I × Rm × Rn −→ Rm

(da notare il dominio di dimensione 1 + m × n, dove 1 è dato dall’intervallo I,m dal numero delle componenti della funzione y e infine n dato dal numero dellederivate presenti nel problema).

Per risolvere il problema di Cauchy associato si ripete lo stesso ragionamentodi prima, solo che al posto di definite un vettore di stato di funzioni scalari, se nedefinisce uno incolonnando le derivate della funzione vettoriale.

z(t) =(y(n−1)(t),y(n−2)(t), . . . ,y′(t),y(t)

)T

In tal modo si riduce il sistema vettoriale di m equazioni vettoriali, di grado n, en condizioni iniziali a un sistema di una equazione differenziale vettoriale di primoordine con una condizione iniziale.

5.3 Metodi numerici per la risoluzione di ODE.

Nei paragrafi precedenti si sono introdotti i problemi di Cauchy senza trovare unasoluzione. Il problema è che in generale sono pochissime le equazioni vettorialile cui soluzioni possono essere scritte sotto forma analitica (tutte quelle lineari epoche altre, comunque molto semplici). Per tutte le altre si deve per forza passareper un qualche metodo numerico.

5.3.1 Risoluzione numerica dei problemi di primo ordine

Il primissimo passo per risolvere un’equazione differenziale per via numerica èdiscretizzare l’intervallo dei tempi I = [t0, tf ], andando a definire i nodi tnNh

n=0

97

Page 116: Appunti del corso di Metodi analitici e numerici...Politecnico di Milano Scuola di Ingegneria Industriale e dell’Informazione Corso di studi in Ingegneria Meccanica Appunti del corso

equidistanti, dove h è il passo, mentre Nh il numero dei sottointervalli:

h =tf − t0Nh

tn = t0 + nh n = 0, 1, . . . , Nh

Inoltre si indica unNhn=0 la soluzione approssimata dell’equazione differenziale,

valutata in ogni nodo.

Metodo di Eulero in avanti

Il metodo di Eulero in avanti è un metodo esplicito per calcolare la soluzione diequazioni differenziali di primo ordine. Esso approssima la derivata prima dellafunzione incognita tramite le differenze finite in avanti (Def. 4.2.1 a pagina 79):

f(tn, y(tn)

)≃ δ+f(tn)

Dove la funzione f descrive l’equazione differenziale. Sostituendo la funzione veray(tn) con la funzione approssimata u(tn) e sostituendo la definizione di differenzafinita in avanti, si ottiene:

f(tn, un) =un − un−1

h

rigirando tale espressione, in modo da risolvere l’equazione per l’incognita un+1 eimponendo la condizione iniziale si ottiene il metodo di Eulero in avanti:

u0 = y0 (dato iniziale)

Per n = 0, 1, . . . , Nh − 1

un+1 = un + hf(tn, un)

Si dice che il metodo è un metodo esplicito perché l’unica incognita è presentesolamente a sinistra dell’equazione (un e tn sono entrambi noti) e quindi è semprecalcolabile (eventualmente anche analiticamente) la soluzione dell’espressione.

98

Page 117: Appunti del corso di Metodi analitici e numerici...Politecnico di Milano Scuola di Ingegneria Industriale e dell’Informazione Corso di studi in Ingegneria Meccanica Appunti del corso

Metodo di Eulero all’indietro

Questo metodo è del tutto analogo a quello predente, solo che utilizza le differenzefinite in indietro (Def. 4.2.2 a pagina 79) per approssimare la derivata prima.

f(tn, y(tn)

)≃ δ−f(tn)

In cui la funzione f descrive l’equazione differenziale. Con passaggi analoghi alcaso precedente si ottiene il metodo di Eulero all’indietro:

u0 = y0 (dato iniziale)

Per n = 0, 1, . . . , Nh − 1

un+1 = un + hf(tn, un+1)

Purtroppo questa volta il metodo è implicito, poiché l’incognita un+1 compareall’interno della funzione f , per cui non sempre è risolvibile analiticamente. Intal caso ad ogni iterazione bisogna risolvere l’espressione con un metodo numerico(vedi Cap. 2 a pagina 32)

un+1

∣∣ Fn(un+1) = un+1 − un − hf(tn, un+1) = 0

Metodo di CrankNicolson

Questo metodo nasce come una media dei metodi di Eulero appena analizzati.Questa volta la l’incremento delle funzione viene approssimato come:

∆y(tn+1) =

∫ tn+1

tn

y(τ)dτ ≃∫ un+1

un

f(τ, y(τ)

)dτ = ∆un+1

A questo punto il secondo integrale viene stimato tramite il metodo di quadraturadei trapezi (Sez. 4.1.2 a pagina 72); l’espressione diventa dunque:

un+1 − un =h

2

[f(tn, un) + f(tn+1, un+1)

]

99

Page 118: Appunti del corso di Metodi analitici e numerici...Politecnico di Milano Scuola di Ingegneria Industriale e dell’Informazione Corso di studi in Ingegneria Meccanica Appunti del corso

Infine il metodo di Crank-Nicolson risulta:

u0 = y0 (dato iniziale)

Per n = 0, 1, . . . , Nh − 1

un+1 = un +h

2

[f(tn, un) + f(tn+1, un+1)

]

Anche in questo caso non si conosce il termine un+1, per cui il metodo risultaancora una volta implicito.

Metodo di Heun

Finora si sono analizzati diversi metodi, alcuni più precisi (metodo Crank-Nicolson),altri più veloci da risolvere (Eulero in avanti). Il metodo di Heun nasce conl’obiettivo di rendere esplicito, e quindi più veloce, il metodo di Crank-Nicolson.

L’idea alla base è quella di stimare un+1 tramite il metodo di Eulero in avanti:

u∗n+1 = un + hf(tn, un)

e poi di inserire il risultato nel metodo di Crank-Nicolson:

un+1 − un =h

2

[f(tn, un) + f(tn+1, u

∗n+1)

]A questo punto l’espressione ottenuta non è più implicita, perché la funzione un+1

è stata approssimata a u∗n+1 allo step precedente.

L’algoritmo finale risulta dunque:

u0 = y0 (dato iniziale)

Per n = 0, 1, . . . , Nh − 1

u∗n+1 = un + hf(tn, un)

un+1 = un +h

2

[f(tn, un) + f(tn+1, u

∗n+1)

]

100

Page 119: Appunti del corso di Metodi analitici e numerici...Politecnico di Milano Scuola di Ingegneria Industriale e dell’Informazione Corso di studi in Ingegneria Meccanica Appunti del corso

5.3.2 Analisi degli errori e della stabilità

Come tutti i metodi numerici anche quelli costruiti per la risoluzione di ODE. sonosoggetti ad errori.

Si definisce errore alla discretizzazione di u la quantità:

en = y(tn)− un

cioè la distanza totale tra funzione vera valutata in tn e la funzione approssimata.Si introduce anche l’errore al passo n-esimo, che si calcola come applicando ilmetodo partendo dalla funzione esatta:

Metodo: un−1 −→ un

Calcolo errore: y(tn−1) −→ u∗n

Quindi si può sempre scrivere l’errore totale come:

en = (y(tn)− u∗n)︸ ︷︷ ︸

Errore al passo n

+ (u∗n − un)︸ ︷︷ ︸

Propagazioneerrori precedenti

In tal modo si riesce a distinguere l’errore dovuto alla consistenza del metodo,creatosi al passo n, e l’errore imputabile alla stabilità del metodo.

Definizione 5.3.1 (Errore di troncamento). Si chiama τn(h) l’errore di tronca-mento locale ed è definito come:

τn(h) =y(tn)− u∗

n

h

Inoltre, tale errore si dice globale quando:

τ(h) = maxn=1,...,Nh

|τn(h)|

Definizione 5.3.2 (Consistenza metodi per la risoluzione di ODE.). Un metodoper la risoluzione di equazioni differenziali ordinarie viene detto consistente quando

101

Page 120: Appunti del corso di Metodi analitici e numerici...Politecnico di Milano Scuola di Ingegneria Industriale e dell’Informazione Corso di studi in Ingegneria Meccanica Appunti del corso

l’errore di troncamento globale si annulla al diminuire di h:

τ(h)h→0−−→ 0+

Inoltre viene detto consistente di ordine p se

τ(h) = O(hp)

Si consideri ora il metodo di Eulero in avanti (esplicito) e si valuti l’andamentodegli errori dovuto al calcolo numerico. Per prima cosa si analizza la consistenza;dalla definizione si ottiene:

hτn(h) = y(tn)− u∗n

= y(tn)−(y(tn−1) + hf(tn−1, y(tn−1))

)Quindi, se la funzione y ∈ C2(I) si può sostituire l’espressione y(tn) con la suaespansione in serie di Taylor:

y(tn) = y(tn−1) + hy(tn−1) +h2

2y(ξn) ξn ∈ [tn−1, tn]

Sostituendo l’espressione si ottiene:

hτn(h) = y(tn−1) + hy(tn−1) +h2

2y(ξn)−

(y(tn−1) + hf(tn−1, y(tn−1))

)Tendendo presente che y(tn−1)

.= f(tn−1, y(tn−1)) l’espressione si semplifica in:

τn(h) =h

2y(ξn)

Tale espressione è l’errore di troncamento locale; andando però a massimizzare ilvalore di y(ξ) si ottiene l’errore di troncamento globale:

τ(h) = Dh

2con: D = max

n=1,...,Nh

|y(ξn)|

Stabilito l’errore di consistenza del metodo di Eulero in avanti, si valuta l’errore

102

Page 121: Appunti del corso di Metodi analitici e numerici...Politecnico di Milano Scuola di Ingegneria Industriale e dell’Informazione Corso di studi in Ingegneria Meccanica Appunti del corso

u∗n − un:

u∗n − un = y(tn−1) + hf(tn−1, y(tn−1))− un

= y(tn−1) + hf(tn−1, y(tn−1))− (un−1 − hf(tn−1, un−1))

= y(tn−1)− un−1 + h[f(tn−1, y(tn−1))− f(tn−1, un−1))

]Considerando l’espressione in modulo e ricordando che per ipotesi la funzione f

dev’essere LIP. nel secondo argomento, si ha che:

|u∗n − un| ≤ |y(tn−1)− un−1|+ h|f(tn−1, y(tn−1))− f(tn−1, un−1))|

≤ |y(tn−1)− un−1|+ hL|y(tn−1)− un−1|

≤ (1 + hL)en−1

Sommando le due componenti ottenute si ottiene l’errore totale del metodo,che risulta pari a:

|en| ≤ hτ(h) + (1 + hL)|en−1|

≤ hτ(h) + (1 + hL)[hτ(h) + (1 + hL)2|en−2|

]≤ hτ(h) + (1 + hL)hτ(h) + (1 + hL)2|en−2|

Questo ragionamento può essere ripetuto n volte; sapendo inoltre che l’ultimotermine della sommatoria è pari all’errore iniziale |e0| ed è nullo per le condizioniiniziali del metodo si ottiene:

|en| ≤ hτ(h)n∑

k=0

(1 + hL)k

Infine, andando a fare il limite per h → 0 (o n → +∞) di questa espressione siottiene la seguente equivalenza asintotica:

|en| ≤ hτ(h)n∑

k=0

(1 + hL)k ∼ hτ(h)(1 + hL)n ∼

∼ henhL − 1

hLτ(h) =

1

L(eL(tn−t0) − 1)D

h

2= C(D)h

103

Page 122: Appunti del corso di Metodi analitici e numerici...Politecnico di Milano Scuola di Ingegneria Industriale e dell’Informazione Corso di studi in Ingegneria Meccanica Appunti del corso

Tabella 5.1: Nella tabella sono riportate le diverse tipologie, gli ordini di convergenzae le ipotesi sulla funzione incognita per studiare gli errori di ogni metodo.

Metodo Classe Ordine Tipologia

Eulero avanti y ∈ C2(I) p = 1 Esplicito

Eulero indetro y ∈ C2(I) p = 1 Implicito

Crank-Nicolson y ∈ C3(I) p = 2 Implicito

Heun y ∈ C3(I) p = 2 Esplicito

Quindi il metodo di Eulero, per trovare una funzione y ∈ C2(I) in avanticonverge linearmente alla soluzione.

Per quanto concerne agli altri metodi studiati i risultati dell’analisi degli errorisono riportati in Tab. 5.1.

Inoltre se sono forniti gli errori con due diversi passi, si può stimare l’ordinedi convergenza del metodo tramite la formula:

p =log(en1/en2)

log(hn1/hn2)

Zero stabilità

La proprietà della zero stabilità garantisce che in un intervallo [t0, tf ] limitato, afronte di piccole perturbazioni sui dati iniziali vi siano solo piccole perturbazionisulla soluzione numerica.

Sia zn la soluzione approssimata e δnNhn=0 l’insieme delle perturbazioni. Ad

esempio il metodo di Eulero in avanti diventa:

z0 = y0 + δ0

Per n = 0, 1, . . . , Nh − 1

zn+1 = zn + h[f(tn, un) + δn

]

104

Page 123: Appunti del corso di Metodi analitici e numerici...Politecnico di Milano Scuola di Ingegneria Industriale e dell’Informazione Corso di studi in Ingegneria Meccanica Appunti del corso

Definizione 5.3.3 (Metodo Zero-stabile). Un metodo numerico per la risoluzionedi equazioni differenziali ordinarie si dice zero-stabile nell’intervallo I = [t0, tf ]

limitato se esistono h0, C, ε0 ∈ R+ tali che:

∀h ∈ (0, h0] ∀ε ∈ [0, ε0] |δn| < ε |zn − un| ≤ Cε ∀n = 0, 1 . . . , Nh − 1

Dove C è una costante che può dipendere dalla lunghezza T − t0 dell’intervallodi integrazione I, ma è indipendente da h. (Corollario) Se poi la funzione f è diLipschitz allora la costante vale:

C = eL(tf−t0) − 1

Teorema 5.3.1 (Lax-Ritchmyer). Un metodo per la risoluzione numerica di equa-zioni differenziali ordinarie è consistente se e solo se è anche convergente.

Purtroppo molto spesso si ha che la costante C diventa molto grande se lamisura dell’intervallo I si ingrandisce di molto.

Ctf→+∞−−−−→ +∞

In questo tipo di situazioni, anche andando a ridurre molto l’intervallo h le per-turbazioni non riescono ad essere controllate (posto che comunque non è semprepossibile controllare h arbitrariamente).

Assoluta stabilità

La proprietà dell’assoluta stabilità garantisce che un dato metodo numerico siastabile rispetto alle perturbazioni anche quando l’intervallo dei tempi diventa moltogrande:

I = [t0,+∞)

In altre parole si può dire che l’assoluta stabilità sia una generalizzazione dellazero stabilità a domini molto più ampi.

Definizione 5.3.4 (Metodo assolutamente stabile). Un metodo si dice assoluta-mente stabile se, quando viene applicato al problema modello (Sez. 5.1.1) risulta

105

Page 124: Appunti del corso di Metodi analitici e numerici...Politecnico di Milano Scuola di Ingegneria Industriale e dell’Informazione Corso di studi in Ingegneria Meccanica Appunti del corso

che:lim

n→+∞un = 0

Definizione 5.3.5 (Metodo incondizionatamente stabile). Un metodo si diceincondizionatamente stabile se la sua assoluta stabilità è valida ∀h > 0.

Chiaramente se un metodo è assolutamente, ma non incondizionatamente sta-bile, si ha che la sua stabilità è condizionata a valori di h racchiusi dall’intervallo:

h ∈ (0, hmax]

Nei prossimi paragrafi viene analizzata l’assoluta stabilità dei quattro metodipresentati finora.

Eulero avanti Applicando la formula al problema modello:

un+1 = un + hf(tn, un) = un + hλun = (1 + hλ)un = (1 + hλ)nu0

passando al limite (definizione di assoluta stabilità) si ottiene:

limn→+∞

un = limn→+∞

(1 + hλ)nu0 = limn→+∞

(1 + hλ)ny0 = 0

=⇒ |1 + hλ| < 1

Andando a sistemare la disequazione:

−1 < 1 + hλ < 1

−2 < hλ < 0

Considerando che λ è un numero negativo, per cui l’espressione non cambia se sisostituisce λ = −|λ|:

−2 < −h|λ| < 0

0 < h <2

|λ|

106

Page 125: Appunti del corso di Metodi analitici e numerici...Politecnico di Milano Scuola di Ingegneria Industriale e dell’Informazione Corso di studi in Ingegneria Meccanica Appunti del corso

Quindi affinché il metodo du Eulero avanti sia assolutamente stabile deve essererispettata la seguente condizione:

h ∈(0, hmax =

2

|λ|

)Da questo segue che il metodo è condizionatamente stabile.

Eulero indietro Applicando la formula al problema modello si ottiene:

un+1 = un + hf(tn+1, un+1) = un + hλun+1

un+1 =un

(1 + hλ)=

y0(1 + hλ)n+1

Passando al limite:

limn→+∞

un = limn→+∞

y0(1 + hλ)n

= 0

=⇒ |1− hλ| > 1

Essendo λ un numero negativo:

|1− hλ| = |1 + h|λ|| = 1 + h|λ| > 1 ∀h ∈ R+

Quindi il metodo di Eulero indietro è un metodo incondizionatamente stabile.

Crank-Nicolson Applicando la formula di Crank-Nicolson al problema modellosi ha che:

un+1 = un +h

2

[f(tn, un) + f(tn+1, un+1)

]un+1 = un +

h

2λ[un + un+1](

1− h

)un+1 =

(1 +

h

)un

un+1 =1 + h

1− h2λun =

(1 + h

1− h2λ

)n+1

y0

107

Page 126: Appunti del corso di Metodi analitici e numerici...Politecnico di Milano Scuola di Ingegneria Industriale e dell’Informazione Corso di studi in Ingegneria Meccanica Appunti del corso

Passando al limite:

limn→+∞

un = limn→+∞

(1 + h

1− h2λ

)n

y0 = 0

=⇒

∣∣∣∣∣1 + h2λ

1− h2λ

∣∣∣∣∣ < 1

Sistemando l’espressione nel modulo e sapendo che λ è un numero negativo:∣∣∣∣∣1 + h2λ

1− h2λ

∣∣∣∣∣ =∣∣∣∣2 + hλ

2− hλ

∣∣∣∣ = ∣∣∣∣2− h|λ|2 + h|λ|

∣∣∣∣ < 1 ∀h ∈ R+

Quindi anche in questo caso il metodo è incondizionatamente assolutamente stabile.

Metodo di Heun Applicando la formula di Heun al problema modello si hache:

u∗n+1 = un + hf(tn, un) = (1 + hλ)un

un+1 = un +h

2

[f(tn+1, u

∗n+1) + f(tn, un)

]un+1 = un +

h

2λ[(1 + hλ)un + un] =

1

2(2 + 2hλ+ (hλ)2)un

un+1 =1

2n+1(2 + 2hλ+ (hλ)2)n+1y0

Passando al limite:

limn→+∞

un = limn→+∞

1

2n+1(2 + 2hλ+ (hλ)2)n+1y0 = 0

=⇒∣∣∣∣2 + 2hλ+ (hλ)2

2

∣∣∣∣ < 1

−2 < 2 + 2hλ+ (hλ)2 < 2

−4 < 2hλ+ (hλ)2 < 0

108

Page 127: Appunti del corso di Metodi analitici e numerici...Politecnico di Milano Scuola di Ingegneria Industriale e dell’Informazione Corso di studi in Ingegneria Meccanica Appunti del corso

Tabella 5.2: Funzioni di stabilità (a variabile complessa z = hλ) dei quattro metodianalizzati.

Metodo Funzione di stabilità

Eulero avanti REA(z) = 1 + z

Eulero indietro REI(z) =1

1−z

Crank-Nicolson RCN(z) =2+z2−z

Heun RH(z) = 1 + z + 12z2

Risolvendo le due disequazioni si ottiene:

h ∈(0, hmax =

2

|λ|

)Quindi il metodo di Heun è condizionatamente assolutamente stabile.

Questo criterio è sempre più o meno uguale; per questo motivo si può genera-lizzarlo definendo una funzione di stabilità, del tipo:

R : C −→ C

un =[R(hλ

]ny0

La funzione di stabilità R dipende dal metodo utilizzato ed è definita su un dominiocomplesso perché in generale il problema modello ha parametro λ ∈ C: nellaTab.5.2 sono riportati gli esempi relativi ai quattro metodi finora analizzati.

A questo punto si può dire che si ha assoluta stabilità incondizionata quando:

|R(hλ)| < 1

e si può generalizzare questo concetto, definendo un’area, sul piano complesso, diassoluta stabilità come:

A =

z ∈ C

∣∣∣∣ |R(z = hλ)| < 1

A titolo di esempio, in Fig. 5.1 sono riportate le aree di assoluta stabilità dei

109

Page 128: Appunti del corso di Metodi analitici e numerici...Politecnico di Milano Scuola di Ingegneria Industriale e dell’Informazione Corso di studi in Ingegneria Meccanica Appunti del corso

metodi analizzati fino ad adesso.

Definizione 5.3.6 (A-stabilità). Si dice che un metodo per la risoluzione diequazioni differenziali ordinarie è A-stabile quando la relativa regione di assolutastabilità contiene il semipiano:

ℜ(z) < 0

Quindi sono A-stabili i metodi di Eulero indietro e Crank-Nicolson (entrambiimpliciti), mentre non lo sono i metodi di Eulero avanti e Heun (espliciti).

Tutti i concetti di assoluta stabilità sono stati ricavati, per definizione, dalproblema modello, ma come possono essere generalizzati a un problema di Cuachyqualsiasi? Tramite ragionamenti su un problema del primo ordine qualsiasi si puòarrivare alla conclusione che si ha la stabilità per:

∂f

∂y(t, y) < 0 ∀t ∈ [t0, +∞)

In tal caso i metodi di Eulero indietro e Crank-Nicolson rimangono assolutamenteincondizionatamente stabili, mentre la condizione per l’assoluta stabilità di Euleroavanti e Heun è data da:

0 < h < hmax =2

λmaxλmax = max

t∈[t0,+∞)

∣∣∣∣∂f∂y (t, y)∣∣∣∣

5.3.3 Metodi di Runge-Kutta

Questa famiglia di metodi punta a costruire la soluzione numerica un+1 anche inbase alla soluzione immediatamente precedente. In altre parole questi metodi sonoin grado di infittire i nodi nelle zone in cui vi è una maggiore necessità e allo stessotempo di diradare la griglia in zone in cui vi è una minore necessità di calcolo.

L’algoritmo generale di Runge-Kutta è dato da:

u0 = y0 (Dato iniziale)

Per n = 0, 1, 2, . . . , Nh − 1

un+1 = un + h

s∑i=1

biki

110

Page 129: Appunti del corso di Metodi analitici e numerici...Politecnico di Milano Scuola di Ingegneria Industriale e dell’Informazione Corso di studi in Ingegneria Meccanica Appunti del corso

−3 −2 −1 1

−2

−1

1

2

ℜ(z)

ℑ(z)

(a) Il metodo di Eulero avanti risulta as-solutamente stabile per tutti i valori diz = hλ che appartengono all’area di uncerchio di raggio uno centrato in z0 = −1.

−1 1 2 3

−2

−1

1

2

ℜ(z)

ℑ(z)

(b) Il metodo di Eulero indietro risultaassolutamente stabile per tutti i valori diz = hλ che non appartengono all’area diun cerchio di raggio uno centrato in z0 = 1.

−3 −2 −1 1

−2

−1

1

2

ℜ(z)

ℑ(z)

(c) Il metodo di Crank-Nicolson risultaassolutamente stabile per tutti i valori diz = hλ che appartengono al semipianocomplesso avente parte reale negativa.

−3 −2 −1 1

−2

−1

1

2

ℜ(z)

ℑ(z)

(d) Il metodo di Heun risulta assolutamen-te stabile per tutti i valori di z = hλ cheappartengono all’area un’ellisse centrata inz0 = −1.

Figura 5.1: In figura sono rappresentate le quattro regioni di assoluta stabilità per imetodi analizzati finora.

111

Page 130: Appunti del corso di Metodi analitici e numerici...Politecnico di Milano Scuola di Ingegneria Industriale e dell’Informazione Corso di studi in Ingegneria Meccanica Appunti del corso

Si può notare facilmente che la funzione f non compare nell’algoritmo, almeno inmaniera esplicita, proprio perché le valutazioni sono fatte su s stadi che non hannouguale misura tra loro. Analizzando più a fondo l’espressione si può notare che lasommatoria presente ad ogni passaggio può essere vista come il prodotto scalare didue vettori k,b ∈ Rs, in cui il primo contiene le valutazioni della funzione f(t, y)

in opportuni punti, mentre il secondo i pesi di ognuna di esse. Nello specifico ilvettore k è calcolato come:

ki = f

(tn + cih, un +

s∑j=1

aijkj

)∀i = 1, 2, . . . , s

Ancora una volta si possono vedere le costanti ci come componenti di un vettorec ∈ Rs e gli aij come elementi di una matrice A ∈ Rs×s.

Tutti gli elementi di A, b e c sono costanti e dipendono da quale metodo diRunge-Kutta si sceglie per approssimare l’equazione differenziale e solitamentevengono tabulati in tabelle (tabelle di Butcher):

c AbT

Tali tabelle vengono poi richiamate dall’algoritmo in fase di risoluzione del-l’equazione. È importante notare che i metodi di Runge-Kutta possono essereimpliciti o espliciti, dipende da come viene calcolato il termine ki e quindi da comeè organizzata la matrice A (il metodo diventa esplicito quando aij = 0 ∀i ≥ j).

Esempio 5.3.1 (Metodo di Runge-Kutta a due stadi). Si consideri la seguentematrice di Butcher, per un metodo di Runge-Kutta a due stadi:

0 0 0

1 1 0

1/2 1/2

112

Page 131: Appunti del corso di Metodi analitici e numerici...Politecnico di Milano Scuola di Ingegneria Industriale e dell’Informazione Corso di studi in Ingegneria Meccanica Appunti del corso

Calcolo dei coefficienti ki:

k1 = f(tn + c1h, unha11k1 + ha12k2)

= f(tn, un) = fn

h2 = f(tn + c2h, unha21k1 + ha22k2)

= f(tn + h, unhk1)

= f(tn+1, un + hfn)

da cui segue che il metodo è definito come:

un+1 = un +h

2[fn + f(tn, un + fn)]

che coincide con il metodo di Heun!

In generale i metodi di Runge-Kutta sono dei metodi adattativi, cioè sonopensati per adattarsi all’equazione e variare il passo; ad esempio al primo stadios1 vale:

us1n+1 = un + hn

s1∑i=1

bs1i ks1i

poi si calcola us2n+1 imponendo che sia più piccolo del precedente se:

s2 < s1 ⇐⇒∣∣us1

n+1 − us2n+1

∣∣ > ε = toll

In caso contrario si può optare per hn+1 > hn, per risparmiare tempo di calcolo.In MATLAB® sono implementate diverse funzioni atte a risolvere le equazioni

differenziali ordinarie; in particolare si segnalano:

[t, y] = ode23(fun, T, y0)[t, y] = ode45(fun, T, y0)

Entrambe le funzioni restituiscono i vettori t e y che contengono i tempi e levalutazioni della risoluzione approssimata e richiedono in ingresso la funzione fun,l’intervallo di integrazione T e la condizione iniziale y0. Ovviamente le due funzioninon sono equivalenti, ma utilizzano due diversi ordini di metodo Runge-Kuttaespliciti: la prima ha un tempo di esecuzione molto minore, ma meno precisa dalpunto di vista degli errori.

113

Page 132: Appunti del corso di Metodi analitici e numerici...Politecnico di Milano Scuola di Ingegneria Industriale e dell’Informazione Corso di studi in Ingegneria Meccanica Appunti del corso

5.3.4 Theta-Metodi

Anche in questo caso il punto di partenza è la discretizzazione del dominio tem-porale I in un numero Nh di punti equidistanti.

Questa volta si introduce un parametro ϑ ∈ [0, 1] la cui funzione è quella dipesare le valutazioni della funzione f tra i due passi consecutivi tn e tn+1. I metodirisultano quindi:

u0 = y0 (dato iniziale)

Per n = 0, 1, . . . , Nh − 1

un+1 = un + h[(1− ϑ)f(tn, un) + ϑf(tn+1, un+1)

]

Si nota immediatamente che per alcuni valori di ϑ il ϑ-metodo corrispondentecoincide con uno visto in precedenza:

1. (ϑ = 0) Eulero avanti:

un+1 = un + hf(tn, un)

2. (ϑ = 1) Eulero indietro:

un+1 = un + hf(tn+1, un+1)

3. (ϑ = 1/2) Eulero avanti:

un+1 = un +h

2

[f(tn, un) + f(tn+1, un+1)

]Per quanto riguarda gli errori dei ϑ-metodi si dimostra che:

y ∈ C2(I) en = |y(tn)− un| ≤ Ch ϑ ∈ [0, 1]\1/2

y ∈ C2(I) en = |y(tn)− un| ≤ Ch2 ϑ = 1/2

114

Page 133: Appunti del corso di Metodi analitici e numerici...Politecnico di Milano Scuola di Ingegneria Industriale e dell’Informazione Corso di studi in Ingegneria Meccanica Appunti del corso

5.3.5 Risoluzione di sitemi differenziali ordinari

Tutti i metodi analizzati sono applicabili alla risoluzione di sistemi di funzionidifferenziali ordinarie.

Per prima cosa si riduce il problema a un problema di Cauchy vettoriale delprimo ordine, come visto in precedenza; poi si applica uno dei metodi visti prima.Ad esempio i ϑ-metodi diventano:

u0 = y0 (dato iniziale)

Per n = 0, 1, . . . , Nh − 1

un+1 = un + h[(1− ϑ)F(tn,un) + ϑF(tn+1,un+1)

]

Nel particolare caso dei ϑ-metodi è possibile fare una riflessione in merito allafunzione F(t,y); supponiamo che per ipotesi sia possibile scrivere la funzione come:

F(tn,y) = Ay + g(t)

dove la matrice A è una matrice a coefficienti costanti. Allora è possibile riscrivereil metodo come:

un+1 = un + h[(1− ϑ)(Aun + gn) + ϑ(Aun+1 + gn+1)

](I − hϑA)un+1 =

[I + h(1− ϑ)A

]+ h[ϑgn + (1− ϑ)gn+1

]Questa espressione è di fatto un sistema lineare: tutto quello che c’è a destradell’uguale è costante e costituisce il termine noto, mentre (I − hϑA) è la matricedel sistema e un+1 rappresenta l’unica incognita dell’espressione.

Stabilità per sistemi differenziali ordinari

Si consideri il problema modello generalizzato alle funzioni vettoriali:y(t) = Ay(t)

y(t0) = y0

∀t ∈ [t0, tf ]

115

Page 134: Appunti del corso di Metodi analitici e numerici...Politecnico di Milano Scuola di Ingegneria Industriale e dell’Informazione Corso di studi in Ingegneria Meccanica Appunti del corso

Teorema 5.3.2 (Effetto autovalori matrice di stato). Se gli autovalori della ma-trice di stato A hanno tutti parte reale negativa allora:

ℜλi(A)

m

i=1

< 0 =⇒ limt→+∞

y(t) = 0

Definizione 5.3.7 (Assoluta stabilità di metodi per ODE. vettoriali). Si diceche il metodo per la risoluzione di equazioni differenziali vettoriali converge as-solutamente se, quando applicato al problema modello (con autovalori a partereale negativa), restituisce una funzione approssimata che tende ad annullarsi conl’aumentare di n:

limn→+∞

un = 0

Come fatto precedentemente questo criterio può essere esteso a tutte le funzioniF(t,y) generiche, andando a considerare gli autovalori della matrice Jacobiana. Inparticolare, il metodo risulta stabile se:

[JF(t)

]ij=

∂fi∂yj

(t,y)

λi

(JF(t)

)∈ A ∀i = 1, 2, . . . ,m ∀t ∈ I

5.3.6 Risoluzione numerica di problemi del secondo ordine

I metodi presentati in questo capitolo sono di solito poco usati e poco svilup-pati perché, come visto in precedenza è sempre possibile ridurre il problema aun’equazione vettoriale di primo ordine.

Metodo Leap-Frog

Il metodo Leap-Frog prevede di approssimare le derivate (prima e seconda) dellafunzione tramite le differenze finite centrate (Def. 4.2.3 e Def. 4.2.4 a pagina 81).

y(tn) ≃ δCy(tn) y(tn) ≃ δ2Cy(tn)

116

Page 135: Appunti del corso di Metodi analitici e numerici...Politecnico di Milano Scuola di Ingegneria Industriale e dell’Informazione Corso di studi in Ingegneria Meccanica Appunti del corso

Sia dunque un l’approssimazione della funzione al passo n e vn l’approssimazionedella sua derivata prima:

f(tn, un, vn) =un+1 − 2un + un−1

h2vn =

un+1 − un−1

2h

Girando le due espressioni si ha che:

un+1 − 2un + un−1 = h2f(tn, un, vn)

un+1 − un−1 = 2hvn

Sommando membro a membro le espressioni si ottiene:

2un+1 − 2un = h2f(tn, un, vn) + 2hvn

Da cui si ricava che:

un+1 = un + hvn +h2

2f(tn, un, vn)

Il problema adesso è stimare il valore di vn+1, poiché al passaggio successivo sarànecessaria per calcolare la funzione. Dalla definizione di differenze finite centrate:

vn =1

2h(un+1 − un−1)

Scalando tutto di un indice si ottiene:

vn+1 =1

2h(un+2 − un)

A questo punto si sostituisce un+2, due volte, con il valore appena calcolato:

vn+1 =1

2h

(un+1 + hvn+1 +

h2

2f(tn+1, un+1, vn+1)− un

)=

1

2h

(un + hvn +

h2

2f(tn, un, vn) + hvn+1 +

h2

2f(tn+1, un+1, vn+1)− un

)

117

Page 136: Appunti del corso di Metodi analitici e numerici...Politecnico di Milano Scuola di Ingegneria Industriale e dell’Informazione Corso di studi in Ingegneria Meccanica Appunti del corso

Infine si ricava vn+1:

vn+1 = vn +h

2

(f(tn, un, vn) + f(tn+1, un+1, vn+1)

)Sintetizzando tutti i passaggi si ottiene l’algoritmo Leap-Frog:

u0 = y0 (Dato iniziale)

v0 = y1 (Dato iniziale)

Per n = 0, 1, . . . , Nh − 1

un+1 = un + hvn +h2

2f(tn, un, vn)

vn+1 = vn +h

2

(f(tn, un, vn) + f(tn+1, un+1, vn+1)

)Dall’algoritmo si capisce subito il perché del nome del metodo (letteralmente signi-fica balzo della rana): ad ogni passaggio calcola la funzione nel punto e la derivatanel nodo immediatamente successivo; successivamente torna indietro a calcolare lafunzione. . .

Si nota subito che la prima equazione è lineare in un, quindi non ci sono partico-lari problemi; purtroppo non è così per la seconda: il termine vn+1 non è necessaria-mente lineare (dipende dalla funzione f) quindi potrebbe richiedere l’applicazionedi uno dei metodi di risoluzione di equazioni non lineari.

In ogni caso, il metodo Leap-Frog ha ordine di convergenza p = 2 ed è sempreassolutamente e incondizionatamente stabile.

118

Page 137: Appunti del corso di Metodi analitici e numerici...Politecnico di Milano Scuola di Ingegneria Industriale e dell’Informazione Corso di studi in Ingegneria Meccanica Appunti del corso

Metodo di Newmark

Il metodo di Newmark nasce come estensione dei ϑ-metodi ai problemi del secondoordine. Assegnati ξ, ϑ ≥ 0 si definisce l’algoritmo come:

u0 = y0 (Dato iniziale)

v0 = y1 (Dato iniziale)

Per n = 0, 1, . . . , Nh − 1

un+1 = un + hvn +h2

2

[2ξfn+1 + (1− ξ)fn

]vn+1 = vn + h

[ϑfn+1 + (1− ϑ)fn

]

In particolare di ogni possibile combinazione di ξ e ϑ si segnala che:

• il metodo è esplicito se ξ = ϑ = 0;

• il metodo coincide con Leap-Frog se ϑ = 12

e ξ = 0.

Il metodo di Newmark non è condizionatamente assolutamente stabile. Inparticolare la condizione è data da:

2ξ ≥ ϑ ≥ 1

2

119

Page 138: Appunti del corso di Metodi analitici e numerici...Politecnico di Milano Scuola di Ingegneria Industriale e dell’Informazione Corso di studi in Ingegneria Meccanica Appunti del corso

Parte II

Equazioni alle derivate parziali

120

Page 139: Appunti del corso di Metodi analitici e numerici...Politecnico di Milano Scuola di Ingegneria Industriale e dell’Informazione Corso di studi in Ingegneria Meccanica Appunti del corso

Capitolo 6

Introduzione

6.1 Equazioni alle derivate parziali

Nello studio di gran parte di eventi di interesse scientifico si fa largo uso di modellimatematici per descrivere, analizzare, prevedere e sopratutto controllare un certofenomeno. Questo non riguarda solamente le discipline di carattere strettamenteingegneristico, ma anche campi come la finanza, medicina, ecologia. . . in cui èdiventato sempre più importante capire un evento per anticiparne l’evoluzione.

Un modello matematico solitamente è ottenuto combinando da una legge ge-nerale (come principi di conservazione di massa o energia. . . ) e da una relazionecostitutiva, spesso di natura sperimentale, concerne a un particolare fenomeno inesame. Il risultato di tale combinazione è molto spesso un’equazione differenzialealle derivate parziali.

Definizione 6.1.1 (Equazione differenziale alle derivate parziali). Un’equazionedifferenziale alle derivate parziali è un legame del tipo:

F (x1, . . . , xn, ux1 , . . . , uxn , ux1x2 , . . . ) = 0

dove u è una funzione incognita di n variabili. In particolare si dice che un’equa-zione differenziale è di ordine n se il massimo ordine di derivazione è n.

Una delle distinzioni più importanti che si possono fare per analizzare le equa-zioni differenziali è quella tra equazioni lineari, in cui la funzione F è lineare

121

Page 140: Appunti del corso di Metodi analitici e numerici...Politecnico di Milano Scuola di Ingegneria Industriale e dell’Informazione Corso di studi in Ingegneria Meccanica Appunti del corso

rispetto alla funzione u e a tutte le sue derivate, e equazioni non lineari. Permotivi di semplicità verranno proposte solamente problemi di tipo lineare.

6.2 Condizioni al contorno

Le condizioni al contorno sono fondamentali per risolvere un problema differenziale,poiché rappresentano il punto di partenza per determinare la funzione risolvente.In parte questo concetto è stato già incontrato nei problemi di Cauchy per equa-zioni differenziali ordinarie: allora si parlava di condizione iniziale della funzione,cioè di un valore noto ad un istante di tempo prefissato. Con condizioni al con-torno si intendono invece una o più funzioni in grado di descrivere l’evoluzione neltempo del sistema, quando viene fissata una certa variabile.

Si consideri dunque una equazione differenziale alle derivate parziali, definitasu uno spazio monodimensionale e nel tempo. Il dominio dunque si può scriverecome:

Q = [0, L]× (t0, tf )

Per risolvere il problema serviranno quindi:

• l’equazione differenziale;

• una funzione della variabile spaziale x che rappresenti la condizione iniziale(di Cauchy) per il tempo;

• una o più funzioni del tempo che rappresentino le condizioni al contorno perla variabile spaziale.

Tra le infinite tipologie di condizioni al contorno possibili, si descrivono brevementequelle maggiormente utilizzate nel modelli matematici.

Condizioni di Dirichlet Le condizioni al contorno di di Dirichlet definisconocome varia il valore della funzione incognita u(x, t) lungo la frontiera del dominiospaziale, nel caso monodimensionale sopra citato tale concetto diventa:u(0, t) = g1(t)

u(L, t) = g2(t)∀t ∈ (t0, tf )

122

Page 141: Appunti del corso di Metodi analitici e numerici...Politecnico di Milano Scuola di Ingegneria Industriale e dell’Informazione Corso di studi in Ingegneria Meccanica Appunti del corso

Se invece la funzione incognita è definita su una variabile spaziale di tipo vettorialeallora la condizione diventa:

u(x, t)

∣∣∣∣∂Ω

= g(t) ∀t ∈ (t0, tf )

Nel caso in cui la funzione g(t) (o più di una nel caso a più dimensioni)sia costantemente nulla, si dice che le condizioni al contorno di Dirichlet sonoomogenee.

Condizioni di Neumann Le condizioni al contorno di di Neumann definisconoil flusso uscente dai punti di frontiera de dominio spaziale. Tale condizione puòessere espressa mediante l’uso della derivata parziale prima rispetto alla variabilespaziale x; nel caso monodimensionale, questo corrisponde a:∂u

∂x(0, t) = g1(t)

∂u∂x(L, t) = g2(t)

∀t ∈ (t0, tf )

Allo stesso modo se la funzione vettoriale dipende da una variabile spaziale di tipovettoriale allora la condizione di Neumann diventa:

∇u(x, t) · n∣∣∣∣∂Ω

= g(t) ∀t ∈ (t0, tf )

dove n è la normale uscente dalla frontiera ∂Ω

Anche in questo caso se la funzione g(t) è sempre nulla, si parla di condizionidi Neumann omogenee.

Condizioni di Robin Le condizioni al contorno di Robin (o di radiazione) sonouna generalizzazione delle condizioni di Dirichlet e Neumann. In poche paroleesse affermano che la derivata della funzione incognita ux(x, t) è proporzionalealla differenza tra il valore di equilibrio della funzione U (che si ottiene a tempo

123

Page 142: Appunti del corso di Metodi analitici e numerici...Politecnico di Milano Scuola di Ingegneria Industriale e dell’Informazione Corso di studi in Ingegneria Meccanica Appunti del corso

infinito) e la funzione u(x, t); nel caso a una sola dimensione questo diventa:∂u∂x(0, t) = γ

(U − u(0, t)

)∂u∂x(L, t) = γ

(U − u(0, t)

) ∀t ∈ (t0, tf ) γ ∈ R

Nel caso il problema sia definito per funzioni spaziali a dominio vettoriale lacondizione diventa:

∇u(x, t) · n∣∣∣∣∂Ω

= γ(U − u(x, t)

)∀t ∈ (t0, tf ) γ ∈ R

Ovviamente non si possono definire delle condizioni omogenee di Robin, perchécoincidono con quelle di Neumann.

Condizioni miste Per ultimo si presentano le condizioni miste. Per costruirequesto tipo di condizioni basta partizionare la frontiera in diversi insiemi e definiresu ognuno di essi una delle tipologie di condizioni a contorno appena analizzate.

6.3 Serie di Fourier

La serie di Fourier è una tecnica matematica che permette di approssimare unafunzione periodica (o resa tale) mediante una combinazione lineare di polinomitrigonometrici.

Nel campo della risoluzione delle equazioni differenziali alle derivate parzialil’approssimazione mediante serie di Fourier molto spesso utilizzata semplificare lefunzioni presenti del problema per facilitarne la soluzione.

Definizione 6.3.1 (Funzione periodica). Data una funzione f(x) : R −→ R, sidice che è periodica se:

∃T ∈ R+∣∣ f(x) = f(x+ T ) ∀x ∈ R

dove il valore T è detto periodo della funzione.

124

Page 143: Appunti del corso di Metodi analitici e numerici...Politecnico di Milano Scuola di Ingegneria Industriale e dell’Informazione Corso di studi in Ingegneria Meccanica Appunti del corso

Affinché si possa definire lo sviluppo in serie di Fourier di una certa funzionef è necessario che questa sia dotata di una minima regolarità. La condizionesufficiente a soddisfare l’ipotesi e che la funzione appartenga allo spazio L2.

Definizione 6.3.2 (Funzione a quadrato integrabile). Si dice che una funzionef(x) è a quadrato integrabile e quindi appartiene allo spazio L2 su un intervallo I

se esiste finito l’integrale: ∫I

(f(x)

)2dx < +∞

Teorema 6.3.1 (Sviluppo in serie di Fourier). Sia f(x) ∈ L2, periodica (o resatale) di periodo T . In questo caso è sempre possibile espandere in serie di Fourierla funzione f(x), ossia si può sempre scrivere:

f(x) =a02

++∞∑n=1

(an cos(nx) + bn sin(nx)

)Dove i coefficienti an e bn sono pari a:

an =1

T

∫ T

−T

f(x) cos(nx)dx bn =1

T

∫ T

−T

f(x) sin(nx)dx

La serie di Fourier può anche essere riscritta in forma complessa, utilizzandol’identità di Eulero:

einx = cos(nx) + i sin(nx)

In tal modo la serie diventa:

f(x) =+∞∑

n=−∞

ckeink cn =

1

2T

∫ T

−T

f(x)e−inxdx

In particolare i coefficienti complessi cn sono legati a quelli reali an e bn tramite leformule:

c0 =1

2a0 cn =

1

2(an − ibn) c−n = cn =

1

2(an + ibn)

a0 = 2c0 an = cn + c−n bn = i(cn − c−n)

125

Page 144: Appunti del corso di Metodi analitici e numerici...Politecnico di Milano Scuola di Ingegneria Industriale e dell’Informazione Corso di studi in Ingegneria Meccanica Appunti del corso

Teorema 6.3.2 (Proprietà funzioni in L2). Una funzione che appartiene allospazio L2 su un intervallo (0, L) dispone delle seguenti proprietà:

1. esiste una sola espansione in serie di Fourier fN(x) della funzione;

2. il limite:

limN→+∞

∥fN(x)− f(x)∥ = limN→+∞

∫ L

0

[fN(x)− f(x)

]2dx = 0

cioè la l’espansione di Fourier fN(x) converge alla funzione f(x) in normaL2(0, L);

3. vale l’identità di Parseval:

a02

++∞∑n=1

(a2n + b2n

)=

+∞∑n=−∞

|cn| =2

L

∫ L

0

f 2(x)dx =2

L∥f(x)∥2L2(0.L)

4. I limiti:lim

n→+∞an = lim

n→+∞bn = lim

n→+∞|cn| = 0

126

Page 145: Appunti del corso di Metodi analitici e numerici...Politecnico di Milano Scuola di Ingegneria Industriale e dell’Informazione Corso di studi in Ingegneria Meccanica Appunti del corso

Capitolo 7

Problemi di diffusione

7.1 L’equazione di diffusione

L’equazione di diffusione (o del calore) nasce dagli studi di Fourier sulla propa-gazione del calore all’interno di un mezzo omogeneo e isotropo, ma è in grado didescrivere in modo preciso qualsiasi fenomeno di tipo diffusivo, come ad esempioil diffondersi di un certo tipo di materiale in un mezzo fluido o certe tipologie didensità di probabilità. . .

l’equazione è espressa dalla formula:

∂u

∂t(x, t)−D∇2u(x, t) = f(x, t)

In essa si distingue la derivata temporale e il laplaciano della funzione incogni-ta u(x, t) e una funzione f(x, t) che rappresenta l’intensità di una fonte esogenadistribuita nel mezzo.

Definizione 7.1.1 (Laplaciano). Data una funzione f ∈ C2(Ω) si definisce la-placiano, o operatore di Laplace, la somma delle derivate parziali seconde nonmiste:

∇2 = ∇ · ∇ =n∑

k=1

∂2

∂k∂k

127

Page 146: Appunti del corso di Metodi analitici e numerici...Politecnico di Milano Scuola di Ingegneria Industriale e dell’Informazione Corso di studi in Ingegneria Meccanica Appunti del corso

7.2 L’equazione del calore

Si consideri ad esempio di voler studiare il comportamento termico di un filo me-tallico, avente una dimensione pari a L molto maggiore delle altre due (problemamonodimensionale). Si immerga in contatto tale filo in un ambiente a temperaturanota e costante, pari a T0, per un tempo sufficientemente lungo affinché si instauril’equilibrio termico:

u(x) = T0 ∀x ∈ [0, L]

Si metta a contatto il filo con due corpi aventi temperatura pari a T1 e T2: dopoun po’ di tempo si osserva che il filo tende ad assumere una distribuzione di tipolineare, i cui massimi e minimi sono posti in corrispondenza degli estremi. Ilcaso appena descritto è un tipico comportamento che l’equazione di diffusione puòanalizzare e prevedere senza particolari difficoltà.

Teorema 7.2.1 (della divergenza). Si consideri un volume V ⊆ Rn compatto edelimitato da una superficie di frontiera liscia ∂S. Se la funzione F è una funzionedifferenziabile con continuità su tutto il volume, si ha che:∫

V

∇ · FdΩ =

∫∂V

F · ndσ

In altre parole: l’integrale su tutto il volume della divergenza di F è pari al flussosulla superficie di frontiera di V .

Sia V un elemento di volume arbitrario posto all’interno del corpo rigido,indicando con e(x, t) l’energia interna specifica per unità di massa si ha che:

EV =

∫V

ρe(x, t)dΩ

dove EV è l’energia totale del corpo, mentre ρ la sua densità. In tal modo il tassodi variazione è pari a:

EV =d

dt

∫V

ρe(x, t)dΩ =

∫V

ρet(x, t)dΩ

dove nell’ultimo passaggio si è usata la formula di Leibniz per la derivazione sottoil segno di integrale. Sia q il flusso di calore uscente dalla superficie di contorno del

128

Page 147: Appunti del corso di Metodi analitici e numerici...Politecnico di Milano Scuola di Ingegneria Industriale e dell’Informazione Corso di studi in Ingegneria Meccanica Appunti del corso

volume ∂V . Sotto tali ipotesi l’energia entrante (o uscente se di segno negativo) èpari a:

Ein = −∫∂V

q · ndσ = −∫V

∇ · qdΩ

In questo caso si è utilizzato il teorema della divergenza (Teo. 7.2.1). Infine ilcontributo dovuto alla fonte di energia esterna è pari a:∫

V

f ∗(x, t)dΩ

Il bilancio di energia risulta quindi pari a:∫V

ρet(x, t)dΩ = −∫V

∇ · qdΩ +

∫V

ρf ∗(x, t)dΩ

Dato che non si è fatta alcun genere di ipotesi sul dominio V l’uguaglianza risultaverificata anche nel caso in cui si rimuova l’integrazione:

ρet(x, t) = −∇ · q+ ρf ∗(x, t)

Sostituendo la legge di Fourier per la condizione di calore q = −κ∇u(x, t) econsiderando l’aumento dell’energia interna et = cvu(x, t) si ottiene l’equazionedel calore:

ρcvut(x, t)−∇(κ∇u(x, t)

)= ρf ∗(x, t)

ut(x, t)−D∇2u(x, t) = f(x, t)

7.3 Problemi ben posti

Definita la relazione dell’equazione differenziale e le condizioni al contorno suldominio spazio-temporale, possiamo definire i problemi differenziali di diffusione.Si supponga che il problema sia monodimensionale e che la funzione f(x, t) siasempre nulla (equazione differenziale omogenea).

129

Page 148: Appunti del corso di Metodi analitici e numerici...Politecnico di Milano Scuola di Ingegneria Industriale e dell’Informazione Corso di studi in Ingegneria Meccanica Appunti del corso

Problema di Cauchy-Dirichlet Si definisce il problema di Cauchy-Dirichlet ilproblema differenziale alle derivate parziali del tipo:

ut = Duxx (x, t) ∈ (0, L)× (0, tf )

u(0, t) = g1(t) u(L, t) = g2(t) t ∈ (0, tf )

u(x, 0) = ϕ(x) x ∈ (0, L)

Problema di Cauchy-Neumann Si definisce il problema di Cauchy-Neumannil problema differenziale alle derivate parziali del tipo:

ut = Duxx (x, t) ∈ (0, L)× (0, tf )

ux(0, t) = q1(t) ux(L, t) = q2(t) t ∈ (0, tf )

u(x, 0) = ϕ(x) x ∈ (0, L)

Problema di Cauchy-Robin Si definisce il problema di Cauchy-Robin il pro-blema differenziale alle derivate parziali del tipo:ut = Duxx (x, t) ∈ (0, L)× (0, tf )

ux(0, t) = γ1(U1 − u(x, t)

)ux(L, t) = γ2

(U2 − u(x, t)

)t ∈ (0, tf )

u(x, 0) = ϕ(x) x ∈ (0, L)

Problema di Cauchy-Misto Si definisce il problema di Cauchy-Misto un pro-blema di diffusione con una qualunque combinazione di condizioni al contorno trale tre precedenti.

Come si analizzerà nel prossimo paragrafo, per tutti questi problemi esiste unasola soluzione u(x, t) ∈ C0(QT ), dove la regione QT è definita come:

QT.=(x, t) ∈ (0, L)× (0, tf )

anche se la funzione che descrive la condizione iniziale di Cauchy ϕ(x) ∈ C0((0, L)).Tra i quattro problemi ce n’è uno che ha una proprietà in più degli altri: quellodi Neumann. Esso infatti, quando ha le condizioni al contorno omogenee, oltre adavere una sola soluzione, ha valor medio integrale sullo spazio costante nel tempo.

130

Page 149: Appunti del corso di Metodi analitici e numerici...Politecnico di Milano Scuola di Ingegneria Industriale e dell’Informazione Corso di studi in Ingegneria Meccanica Appunti del corso

Dimostrazione 7.3.1 (Valor medio problema Cauchy-Neumann omogeneo). An-dando a moltiplicare l’equazione differenziale omogenea per una funzione genericav(x) = 0:

v∂u

∂t= Dv

∂2u

∂x2

Integrando su tutto il dominio spaziale si ha che:∫ L

0

v∂u

∂tdx = D

∫ L

0

v∂2u

∂x2dx

Per semplicità si separa la manipolazione degli integrali. Si prenda dunque ilsecondo integrale, l’espressione della funzione integranda può essere riscritta come:

v∂2u

∂x2=

∂x

(∂u

∂xv

)− ∂u

∂x

∂v

∂x

II = D

∫ L

0

∂x

(∂u

∂xv

)dx−D

∫ L

0

∂u

∂x

∂v

∂xdx

= D

[∂u

∂xv

]x=L

x=0

−D

∫ L

0

∂u

∂x

∂v

∂xdx

Il primo termine è ovviamente nullo proprio per le condizioni al contorno delproblema di Neumann omogeneo. Tornando all’uguaglianza tra gli integrali si hache: ∫ L

0

v∂u

∂tdx = −D

∫ L

0

∂u

∂x

∂v

∂xdx

Dato che l’espressione è valida per tutte le funzioni v(x) = 0 si può scegliere unafunzione costante, ad esempio v(x) ≡ 1, ∀x ∈ (0, L); in tal modo si annulla ilsecondo termine dell’equazione:∫ L

0

∂u

∂tdx =

d

dx

∫ L

0

u(x, t)dx = 0

Per definizione il valor medio integrale della funzione u(x, t) è pari a:

um(x, t) =1

L

∫ L

0

u(x, t)dx

131

Page 150: Appunti del corso di Metodi analitici e numerici...Politecnico di Milano Scuola di Ingegneria Industriale e dell’Informazione Corso di studi in Ingegneria Meccanica Appunti del corso

Sostituendo la definizione nel passaggio precedente si ottiene:

Ld

dxum = 0

Da cui segue che il valore medio sullo spazio della soluzione u(x, t) è una funzionetempo invariante.

7.4 Unicità della soluzione

Nella Sez. 7.3 si è detto che i problemi di diffusione di Cauchy al bordo (cioè concondizioni al contorno di Dirichlet, Neumann, Robin e misto) sono tutti ben postie questo significa che la soluzione esiste, è unica e dipende con continuità dai dati.

Tutto questo chiaramente va dimostrato e in genere prima di dimostrare l’esi-stenza delle soluzione si dimostra la sua unicità.

7.4.1 Problema monodimensionale

Il più semplice dei problemi di diffusione è quello definito su una sola dimensionespaziale. Per prima cosa si analizza questa tipologia di problema.

Dimostrazione 7.4.1 (Unicità soluzione monodimensionale). Sia dato un proble-ma di diffusione omogeneo monodimensionale, avente una fra le quattro tipologiedi condizione al contorno analizzate.

ut(x, t) = Duxx(x, t) (x, t) ∈ QT

u(x, 0) = ϕ(x) x ∈ (0, L)

Condizione di D, N, R, M.

Si supponga che per assurdo esistano due funzioni diverse u e v che sianosoluzioni del problema differenziale. Essendo l’equazione di diffusione lineare, unaqualsiasi combinazione lineare delle soluzioni risulta essere ancora soluzione delproblema.

∃w(x, t) = u(x, t)− v(x, t) = 0 ∀(x, t) ∈ QT

132

Page 151: Appunti del corso di Metodi analitici e numerici...Politecnico di Milano Scuola di Ingegneria Industriale e dell’Informazione Corso di studi in Ingegneria Meccanica Appunti del corso

Sostituendo l’espressione nel problema, si ottiene il seguente sistema:wt(x, t) = Dwxx(x, t) (x, t) ∈ QT

w(x, 0) = ϕ(x)− ϕ(x) ≡ 0 x ∈ (0, L)

Condizione omogenea di D, N, R, M.

La dimostrazione del perché le condizioni al bordo diventano omogenee è imme-diata: le funzioni u v (o le loro derivate) devono essere pari alla stessa quantitàlungo tutta la frontiera, per cui la funzione w, essendo pari alla loro differenza,dovrà essere puntualmente nulla.

Dato che w è per ipotesi soluzione al problema, la seguente equazione:

∂w

∂t(x, t) = D

∂2w

∂x2(x, t)

risulta essere un’identità. Si moltiplichi tale espressione da ambo le parti per lafunzione w(x, t) e la si integri su tutto il dominio temporale.∫ L

0

w∂w

∂tdx = D

∫ L

0

w∂2w

∂x2dx (7.1)

Si consideri ora l’integrale di sinistra, per le proprietà dei differenziali e per ilteorema di Reynolds si ha che:

I =∫ L

0

w∂w

∂tdx =

∫ L

0

1

2

∂w2

∂tdx =

d

dt

∫ L

0

1

2w2dx =

dE

dt(t) ≥ 0

Cioè è pari alla derivata dell’energia della funzione w(x, t) cioè alla derivata dell’in-tegrale di una funzione al quadrato, cioè a quantità sempre positiva o al massimonulla. Al contrario il secondo integrale può essere riarrangiato sfruttando la regoladi differenziazione del prodotto di funzioni (integrazione per parti):

d(fg) = gdf + fdg =⇒ gdf = d(fg)− fdg

133

Page 152: Appunti del corso di Metodi analitici e numerici...Politecnico di Milano Scuola di Ingegneria Industriale e dell’Informazione Corso di studi in Ingegneria Meccanica Appunti del corso

II = D

∫ L

0

w∂2w

∂x2dx

PP= D

∫ L

0

∂x

(w∂w

∂x

)dx−D

∫ L

0

∂w

∂x

∂w

∂xdx

= D

[w∂w

∂x

]L0

−D

∫ L

0

[∂w

∂x

]2dx

Il primo termine dell’ultimo passaggio è sempre nullo per le condizioni al contorno(in Dirichlet sarà nulla la funzione valuta nel punto, in Neumann la derivata. . . ).Il secondo, essendo una somma continua di funzioni al quadrato, è sempre pari auna quantità negativa o al più nulla:

II = −D

∫ L

0

[∂w

∂x

]2dx ≤ 0

Tornando all’Eq. 7.1 e sostituendo quanto si è appena ricavato, si ha che:

0 ≤ dE

dt(t) = −D

∫ L

0

[∂w

∂x

]2dx ≤ 0 =⇒ dE

dt(t) = 0 ∀t ∈ (0, tf )

Per il teorema del confronto semplice la derivata dell’energia è sempre nulla, quindila funzione w(x, t), sarà una costante nel tempo.

Si consideri ora, l’energia che si ha all’istante t = 0, cioè quando la funzionedeve essere pari alla condizione iniziale del problema:

E(0) =1

2

∫ L

0

(w(x, 0)

)2dx = 0

Da questo segue che, fra le infinite costanti possibili l’unica accettabile è quellanulla:

E(t) ≡ 0 ∀t ∈ (0, tf )

Il valor medio dell’energia della funzione w(x, t) sullo spazio è a sua volta nullo:∫ L

0

(w(x, t)

)2dx ≡ 0 ⇐⇒ w(x, t) ≡ 0 ∀(x, t) ∈ QT

134

Page 153: Appunti del corso di Metodi analitici e numerici...Politecnico di Milano Scuola di Ingegneria Industriale e dell’Informazione Corso di studi in Ingegneria Meccanica Appunti del corso

E questo a sua volta è verificato solo se:

u(x, t) ≡ v(x, t) ∀(x, t) ∈ QT

Cioè le due funzioni, diverse per ipotesi, devono essere uguali puntualmente, cheè un assurdo. La soluzione a tutti i problemi diffusione con condizioni di Cauchye bordo, ammesso che esista, risulta unica.

7.4.2 Problema multidimensionale

Si consideri un problema di diffusione definito su un dominio spaziale di dimensionisuperiori a uno:

Ω ⊂ Rd 1 < d ∈ N

Di conseguenza il dominio del problema diventa:

QT = Ω× (t0, tf )

Come si vedrà i seguito è utile introdurre la definizione di frontiera parabolica,perché i punti appartenenti a questo insieme hanno particolari proprietà.

Definizione 7.4.1 (Frontiera parabolica). Si definisce frontiera parabolica del do-minio QT l’insieme dei suoi punti di frontiera su cui sono definite le condizioni alcontorno.

∂PQT =(Ω× t = t0

)∪(∂Ω× (t0, tf ]

)con: Ω = Ω ∪ ∂Ω

Teorema 7.4.1 (Integrazione per parti su più dimensioni). La formula di inte-grazione per parti per funzioni a variabile reale:∫

f ′(x)g(x)dxPP= f(x)g(x)−

∫f(x)g(x)dx

può essere estesa al più dimensioni mediante il teorema della divergenza:∫Ω

∇u · vdω PP=

∮∂Ω

uv · ndσ −∫Ω

u∇ · vdω

135

Page 154: Appunti del corso di Metodi analitici e numerici...Politecnico di Milano Scuola di Ingegneria Industriale e dell’Informazione Corso di studi in Ingegneria Meccanica Appunti del corso

Dimostrazione 7.4.2 (Unicità soluzione multidimensionale). Sia dato un pro-blema di diffusione omogeneo su uno spazio multidimensionale, avente una fra lequattro tipologie di condizione al contorno analizzate.

ut(x, t) = D∇2(x, t) (x, t) ∈ QT

u(x, 0) = ϕ(x) x ∈ Ω

Condizione di D, N, R, M.

Come prima si suppone che per assurdo esistono due soluzioni distinte u(x, t) ev(x, t) dello stello problema di diffusione. Essendo l’equazione di diffusione lineareogni combinazione lineare delle due soluzioni risulta deve per forza essere anch’essasoluzione all’equazione. Si consideri quindi la soluzione w(x, t) definita come:

w(x, t) = u(x, t)− v(x, t) = 0

Con tale funzione le condizioni al bordo risultano omogenee, qualsiasi sia la lorotipologia.

Con passaggi analoghi al caso monodimensionale (moltiplicazione per la fun-zione w e integrazione su tutto il dominio spaziale) si arriva a:∫

Ω

wwtdω = D

∫Ω

w∇2wdω

Il primo integrale viene trattato esattamente come prima:

I =∫Ω

w∂w

∂tdω =

d

dt

∫Ω

1

2w2dω =

dE

dt(t) ≥ 0 ∀t ≥ 0

Il secondo integrale viene riscritto tramite la formula di integrazione per parti:

II = D

∫Ω

w∇2wdω = D

∫Ω

w∇ ·(∇w)dω

PP= D

∮∂Ω

w∇w · ndσ −∫Ω

∥∇w∥2dω

Per via delle condizioni al contorno omogenee il termine di flusso è sempre nullo:nello specifico Dirichlet annulla la funzione, Neumann e Robin la sua derivata

136

Page 155: Appunti del corso di Metodi analitici e numerici...Politecnico di Milano Scuola di Ingegneria Industriale e dell’Informazione Corso di studi in Ingegneria Meccanica Appunti del corso

(rappresentata dal gradiente). Da questo deriva che:

II = −∫Ω

∥∇w∥2dω ≤ 0 ∀t ≥ 0

Unendo il primo e il secondo integrale si ha che E(t) è ancora una costante.Inoltre si sa, dalla condizione di Cauchy, che all’istante iniziale:

E(0) =1

2

∫Ω

w2(x, t)dω = 0

Di conseguenza E(t) ≡ 0. Per ragionamenti analoghi a quelli precedenti si ha che:

u(x, t) = v(x, t) ∀(x, t) ∈ QT

e questo rappresenta un assurdo. Si conclude quindi che non esistono due soluzionidistinte all’equazione di diffusione.

Teorema 7.4.2 (Proprietà soluzione). Nelle dimostrazioni precedenti si è utilizza-ta la formule di integrazione per parti, la quale richiede la continuità della funzione,delle sue derivate prime in entrambe le variabili e della derivata seconda spaziale.Da queste ipotesi si ha che la soluzione deve avere la seguente proprietà:

u(x, t) ∈ C2,1(QT ) ∩ C0(QT = QT ∪ ∂Ω)

7.5 Esistenza della soluzione

Nel paragrafo precedente si è dimostrato che se la soluzione esiste questa è unica.Ci si chiede ora quale sia la soluzione al problema. Prima di procedere con ilmetodo risolutivo si introducono le serie di Weierstrass e le loro proprietà.

Definizione 7.5.1 (Serie di Weierstrass). Una serie di funzioni∑

n fn(x) si dicedi Weierstrass su un intervallo I se:

∃cnn∈N

∣∣ |fn(x)| ≤ cn ∀x ∈ I

e la successione cn converge.

137

Page 156: Appunti del corso di Metodi analitici e numerici...Politecnico di Milano Scuola di Ingegneria Industriale e dell’Informazione Corso di studi in Ingegneria Meccanica Appunti del corso

Teorema 7.5.1 (Proprietà serie di Weierstrass). Data una serie di funzioni diWeierstrass

∑n fn(x) su un intervallo I, in cui tutte le funzioni fn(x) sono continue

sull’intervallo allora:

• la serie di funzioni è anch’essa continua:

f(x) =+∞∑n=1

fn(x) ∈ C0(I)

• il limite delle serie esiste finito ed è uguale alla serie dei limiti:

∃ limx→x0

fn(x) = ln ∈ R

∃ limx→x0

f(x) =+∞∑n=1

ln = l ∈ R

• tutte le funzioni fn(x) sono derivabili nell’intervallo I, anche la serie dellederivate è di Weierstrass e quindi anche f(x) è derivabile sull’intervallo.Inoltre la derivata della serie risulta essere pari alla serie delle derivate:

f ′(x) =+∞∑n=1

f ′n(x)

Ora si dispone di tutti gli strumenti necessari per la risoluzione del problemadi diffusione. Per farlo si adotta la tecnica della separazione delle variabili, cheprevede che la soluzione al problema sia pari al prodotto di due funzioni distinte,ognuna delle quali è una funzione di una sola variabile:

u(x, t) = X(x)T (t)

X(x) : R −→ R T (t) : R −→ R

Questo ragionamento permette di dividere un problema complicato, definito sudue variabili, in due problemi più semplici definiti ognuno su una sola variabile. Ilmetodo è del tutto generale e si applica bene a tutte le equazioni differenziali allederivate parziali che:

138

Page 157: Appunti del corso di Metodi analitici e numerici...Politecnico di Milano Scuola di Ingegneria Industriale e dell’Informazione Corso di studi in Ingegneria Meccanica Appunti del corso

• sono lineari;

• sono omogenee;

• hanno condizioni al contorno di Dirichlet, Neumann, Robin o miste omoge-nee.

A questo punto è necessario trattare i problemi di diffusione con diverse con-dizioni al contorno in modo separato.

7.5.1 Problema di Cauchy-Dirichlet

Per semplicità si analizza prima il problema di diffusione di tipo omogeneo, cioèavente la funzione forzante f(x) sempre nulla.

ut −Duxx = 0

Condizioni al contorno omogenee

Si consideri il seguente problema di diffusione omogeneo monodimensionale, aventecome condizioni al contorno quelle di Dirichlet omogenee:

ut = Duxx (x, t) ∈ (0, L)× (0, tf )

u(0, t) = u(L, t) = 0 t ∈ (0, tf )

u(x, 0) = ϕ(x) x ∈ (0, L)

(7.2)

Si consideri dunque una soluzione di tentativo, ottenuta facendo uso del metododi separazione delle variabili U(x, t) = X(x)T (t). Sostituendo tale espressionenell’equazione di diffusione si ha che:

∂U

∂t= D

∂2U

∂x2

∂(XT )

∂t= D

∂2(XT )

∂x2

XT ′ = DTX ′′

1

D

T ′

T=

X ′′

X

139

Page 158: Appunti del corso di Metodi analitici e numerici...Politecnico di Milano Scuola di Ingegneria Industriale e dell’Informazione Corso di studi in Ingegneria Meccanica Appunti del corso

Naturalmente questa espressione deve valere in ogni punto del dominio QT , poichéla stessa equazione è definita su esso. Affinché tale relazione sia soddisfatta ènecessario che entrambi i rapporti siano pari ad una costante, per via del fatto chele funzioni T e X non hanno nessuna variabile in comune.

1

D

T ′

T=

X ′′

X= k ∈ R

In tal modo si sono ottenuti due problemi differenziali ordinari indipendenti,più semplici da risolvere, al posto che un solo problema a derivate parziali, moltopiù complicato da risolvere.

Si consideri dunque il problema di primo ordine, relativo alla funzione T (t):

T ′(t) = DkT (t)

Questa tipologia di equazione differenziale ha soluzione:

T (t) = eDkt

Il problema è ora capire che valore ha la costante k, per farlo si utilizza il secondoproblema differenziale, cioè quello relativo alla funzione X(x):

X ′′(x)− kX(x) = 0

in funzione del valore che assume la costante si hanno dei comportamenti diversidella soluzione; nello specifico si distinguono tre casi:

1. La costante è un numero positivo: k = λ2 ∈ R+

Il problema differenziale diventa quindi:

X ′′(x)− λ2X(x) = 0

Per risolverlo si passa all’equazione caratteristica:

µ2 − λ2 = 0 =⇒ µ = ±λ

140

Page 159: Appunti del corso di Metodi analitici e numerici...Politecnico di Milano Scuola di Ingegneria Industriale e dell’Informazione Corso di studi in Ingegneria Meccanica Appunti del corso

In tal caso la soluzione è pari a:

X(x) = c1e−λx + c2e

+λx

Imponendo le condizioni al contorno si ottiene il sistema lineare:X(0) = c1 + c2 = 0

X(L) = c1e−λL + c2e

+λL = 0=⇒

[1 1

e−λL e+λL

]c1

c2

= 0

Naturalmente si ha che il determinante della matrice non mai essere nullo:∣∣∣∣∣ 1 1

e−λL e+λL

∣∣∣∣∣ = e+λL − e−λL = 0 ∀λ > 0

Quindi per il teorema di Cramer esiste una sola soluzione; essendo inoltre ilsistema omogeneo si ha che la soluzione è data da:

c1 = c2 = 0

e questo a sua volta implica che la funzione:

X(x) ≡ 0 x ∈ (0, L)

Tale soluzione è senza dubbio una soluzione banale al problema di diffusione,pertanto è da scartare.

2. La costante è nulla: k = 0

Questo semplifica notevolmente il problema differenziale, che si riduce a:

X ′′(x) = 0

La soluzione all’equazione è di tipo polinomiale ed è pari a una retta generica:

X(x) = c1x+ c2

141

Page 160: Appunti del corso di Metodi analitici e numerici...Politecnico di Milano Scuola di Ingegneria Industriale e dell’Informazione Corso di studi in Ingegneria Meccanica Appunti del corso

Come prima si impongono le condizioni al bordo, ottenendo il sistema lineare:X(0) = c2 = 0

X(L) = c1L+ c2 = 0=⇒

[0 1

L 1

]c1

c2

= 0

Ancora una volta il determinante della matrice non può mai essere nullo:∣∣∣∣∣0 1

L 1

∣∣∣∣∣ = −L = 0

Per il teorema di Cramer vi è ancora una sola soluzione al sistema, rappre-sentata da tutti le incognite nulle.

c1 = c2 = 0

Esattamente come prima si ottiene una soluzione banale al problema diffe-renziale.

3. La costante è negativa: k = −λ2 < 0

Il problema differenziale diventa quindi:

X ′′(x) + λ2X(x) = 0

Per risolverlo si passa ancora all’equazione caratteristica:

µ2 + λ2 = 0 =⇒ µ = ±iλ

In tal caso la soluzione è pari alla somma di due esponenziali complessi, cheper l’identità di Eulero si possono riscrivere come:

X(x) = c1 cos(λx) + c2 sin(λx)

Ancora una volta si impongono le condizioni al bordo, ottenendo il sistema

142

Page 161: Appunti del corso di Metodi analitici e numerici...Politecnico di Milano Scuola di Ingegneria Industriale e dell’Informazione Corso di studi in Ingegneria Meccanica Appunti del corso

lineare:X(0) = c1 = 0

X(L) = c1 cos(λL) + c2 sin(λL) = 0=⇒

[1 0

cos(λL) sin(λL)

]c1

c2

= 0

In questo caso il determinante della matrice può essere nullo per alcuniparticolari valori di λ:∣∣∣∣∣ 1 0

cos(λL) sin(λL)

∣∣∣∣∣ = sin(λL) = 0 ⇐⇒ λ =nπ

Ln ∈ N

Imponendo che il determinante sia nullo si abbassa di un grado il rangodella matrice e non si ha più l’unicità della soluzione al sistema lineare (sihanno ∞1 soluzioni distinte, per il teorema di Rouché-Capelli), pertanto lasoluzione avente i coefficienti c1 = c2 = 0, che a sua volta implica la soluzionebanale al sistema, non è più la sola disponibile. La soluzione del problemadifferenziale risulta dunque:

Xn(x) = cn sin

(nπ

Lx

)

A questo punto è possibile riscrivere la funzione Un(x, t) come:

Un(x, t) = cne−D(nπ

L)2t sin

(nπ

Lx

)Fino ad adesso si è costruita la soluzione utilizzando l’equazione differenziale e lacondizione al contorno: manca da imporre la condizione di Cauchy.

Un(x, 0) = ϕ(x)

Al fine di semplificare l’espressione si considera l’espansione in serie di Fourier disoli seni della funzione ϕ(x):

ϕ(x) =+∞∑n=1

bn sin

(nπ

Lx

)

143

Page 162: Appunti del corso di Metodi analitici e numerici...Politecnico di Milano Scuola di Ingegneria Industriale e dell’Informazione Corso di studi in Ingegneria Meccanica Appunti del corso

Da cui segue, per il principio di identità, che tutti i coefficienti cn, ancora incogniti,sono pari ai coefficienti di Fourier bn e quindi la funzione U(x, t) è pari a:

U(x, t) =+∞∑n=1

bne−D(nπ

L)2t sin

(nπ

Lx

)

Adesso però è necessario verificare che la soluzione U(x, t) appena costruita con-verga alla soluzione del problema u(x, t) e che soddisfi l’equazione differenziale.

Per risolvere il primo problema, si deve maggiorare la serie, in modo da lavorarecon termini più semplici da trattare:∣∣∣∣bne−D(nπ

L)2t sin

(nπ

Lx

)∣∣∣∣ ≤ |bn|e−D(nπL

)2t

Ora, per le proprietà della serie di Fourier, i coefficienti bn tendono ad annullarsiquando n −→ +∞ e da questo deriva che:

|bn|e−D(nπL

)2t ≤ e−D(nπL

)2t =

(1

eDn( πL)2t

)n

= qnn ≤ qn t ≥ t0 > 0

Il termine q è il termine generale di una serie geometrica, la quale converge se:

q < 1

Tale ipotesi è senz’altro verificata, per cui la serie U(x, t) converge alla funzioneu(x, t) per tutti i punti appartenenti al dominio QT .

L’ultimo problema da affrontare consiste nel verificare la soluzione u(x, t) soddi-sfa l’equazione differenziale. Sappiamo che sicuramente la funzione U(x, t) verifical’equazione, perché è stata costruita a partire da essa, e tende alla funzione u(x, t).Rimane solo da vedere se anche la funzione u(x, t) soddisfa l’equazione di diffu-sione. In altre parole bisogna verificare che la seguente espressione risulti essereun’identità: (

∂t −D∂2xx

) +∞∑n=1

bnU∗n

?=

+∞∑n=1

bn(∂t −D∂2

xx

)U∗n

in cui il termine U∗n è pari alla funzione Un divisa per il suo coefficiente bn.

Poco fa si è dimostrato che tutti i termini Un sono più piccoli di una specifica

144

Page 163: Appunti del corso di Metodi analitici e numerici...Politecnico di Milano Scuola di Ingegneria Industriale e dell’Informazione Corso di studi in Ingegneria Meccanica Appunti del corso

costante qn, per cui collezionando queste costanti, si può determinare una succes-sione geometrica convergente: per questo motivo la serie

∑n bnU

∗n è una serie di

Weierstrass (Def. 7.5.1) e l’uguaglianza vista prima risulta sempre verificata.La soluzione al problema di diffusione omogeneo, con condizioni al contorno di

Dirichlet omogenee, definito dall’Eq. (7.2), è dunque:

u(x, t) =+∞∑n=1

bne−D(nπ

L)2t sin

(nπ

Lx

)

dove i coefficienti bn sono i coefficienti della serie di Fourier della funzione ϕ(x):

bn =2

L

∫ L

0

ϕ(x) sin

(nπ

Lx

)dx

Infine è importante notare il comportamento asintotico della soluzione:

limt→+∞

u(x, t) = 0

Questo fenomeno si verifica perché la variabile t è inserita nella soluzione tramiteun esponenziale negativo che nel tempo smorza qualsiasi effetto di tipo sinusoidale.

Condizioni al contorno costanti

Si complichi leggermente il problema iniziale, non considerando più delle condizionial contorno di Dirichlet omogenee, ma imponendo come condizioni al bordo duecostanti a e b. In tal caso si ha:

ut = Duxx (x, t) ∈ (0, L)× (0, tf )

u(0, t) = a t ∈ (0, tf )

u(L, t) = b t ∈ (0, tf )

u(x, 0) = ϕ(x) x ∈ (0, L)

(7.3)

Prima cosa: il metodo di separazione delle variabili non è applicabile, almenodirettamente, perché le condizioni al contorno non sono omogenee. Si suppongache il problema ammetta una soluzione stazionaria us(x); essendo stazionaria ha

145

Page 164: Appunti del corso di Metodi analitici e numerici...Politecnico di Milano Scuola di Ingegneria Industriale e dell’Informazione Corso di studi in Ingegneria Meccanica Appunti del corso

sicuramente derivata temporale nulla, poiché non dipende dal tempo:

∂us

∂t= 0 ∀x ∈ (0, L) (7.4)

Quindi l’equazione di diffusione si semplifica:

∂2us

∂x2= 0 (7.5)

Questa è un’equazione differenziale ordinaria di secondo ordine omogenea, dallaquale è possibile ricavare la soluzione us(x). Questa è una funzione che ha derivataseconda sempre nulla, e passa per due putni noti, cioè a e b, quindi non può esserealtro che una retta.

us(x) =x

L(b− a) + a

La soluzione al problema principale (Eq. (7.3)) sarà quindi pari alla sommadella soluzione stazionaria us(x) e a quella che descrive il transitorio u(x, t), chenel tempo tende a smorzarsi:

u(x, t) = us(x) + u(x, t)

In effetti questa notazione è molto comoda, perché permette di riscrivere il pro-blema di diffusione. Nello specifico l’equazione differenziale, tenendo conte dellecondizioni date delle Eq. (7.4) e Eq.(7.5), può essere riscritta come:

∂t(us(x) + u(x, t)) = D

∂2

∂x2(us(x) + u(x, t))

∂tu(x, t) = D

∂2

∂x2u(x, t)

La condizione di Dirichlet in zero:

u(0, t) = us(x)∣∣x=0

+ u(x, t)∣∣x=0

= a− u(0, t)

146

Page 165: Appunti del corso di Metodi analitici e numerici...Politecnico di Milano Scuola di Ingegneria Industriale e dell’Informazione Corso di studi in Ingegneria Meccanica Appunti del corso

Quindi dato che il problema impone che u(0, t) = a, si ha che:

u(0, t) = a− a = 0

Ovviamente lo stesso ragionamento vale anche per la condizione nell’altro estremoL. Infine la condizione di Cauchy risulta:

u(x, 0) = us(x) + u(x, 0) = ϕ(x)

u(x, 0) = ϕ(x)− us(x) = ϕ(x)

Riassumendo il problema può essere riscritto come:ut = Duxx (x, t) ∈ (0, L)× (0, tf )

u(0, t) = u(L, t) = 0 t ∈ (0, tf )

u(x, 0) = ϕ(x) x ∈ (0, L)

Adesso si che è possibile ricavare la soluzione u(x, t) tramite il metodo di separazio-ne delle variabili, perché adesso il problema è omogeneo con condizioni omogenee.La soluzione finale del problema descritto dall’Eq. (7.3) è pari a:

u(x, t) =+∞∑n=1

bne−D(nπ

L)2t sin

(nπ

Lx

)+ us(x)

dove i coefficienti bn sono i coefficienti della serie di Fourier della funzione ϕ(x):

bn =2

L

∫ L

0

ϕ(x) sin

(nπ

Lx

)dx

Problema non omogeneo

Si consideri un altra tipologia di complicazione, non più sulle condizioni al contor-no, ma sull’equazione stessa: cioè la presenza di una funzione forzante, della solavariabile spaziale, al secondo membro dell’equazione. Il problema risulta essere

147

Page 166: Appunti del corso di Metodi analitici e numerici...Politecnico di Milano Scuola di Ingegneria Industriale e dell’Informazione Corso di studi in Ingegneria Meccanica Appunti del corso

quindi: ut −Duxx = f(x) (x, t) ∈ (0, L)× (0, tf )

u(0, t) = u(L, t) = 0 t ∈ (0, tf )

u(x, 0) = ϕ(x) x ∈ (0, L)

Si procede ancora con una soluzione di tentativo, del tipo:

u(x, t) =+∞∑n=1

cn(t) sin

(nπ

Lx

)

Ipotizzando che la serie sia di Weierstrass e derivando l’espressione si ottiene:

ut(x, t) =+∞∑n=1

c′n(t) sin

(nπ

Lx

)

uxx(x, t) = −n2π2

L2

+∞∑n=1

cn(t) sin

(nπ

Lx

)

Sostituendo il tutto nell’equazione si ottiene:

+∞∑n=1

[c′n(t)−

n2π2

L2cn(t)

]sin

(nπ

Lx

)= f(x)

Approssimando la funzione f(x) alla sua serie di Fourier:

f(x) =+∞∑n=1

kn sin

(nπ

Lx

)kn =

2

L

∫ L

0

f(x) sin

(nπ

Lx

)dx

Al posto di considerare le sommatorie intere si consideri ora la generica n-esimafunzione: [

c′n(t)−n2π2

L2cn(t)

]sin

(nπ

Lx

)= kn sin

(nπ

Lx

)Semplificando le funzioni seno da ambo i lati dell’equazione si ottengono infiniteequazioni differenziali ordinarie di primo ordine:

c′n(t)−n2π2

L2cn(t) = kn n ∈ N∗

148

Page 167: Appunti del corso di Metodi analitici e numerici...Politecnico di Milano Scuola di Ingegneria Industriale e dell’Informazione Corso di studi in Ingegneria Meccanica Appunti del corso

Il lato positivo di tutte queste equazioni differenziali è che sono tutte funzioni dellasola variabile t. La generica soluzione è data da:

cn(t) = Anen2π2

L2 t2 +L2

n2π2kn (7.6)

Infine, come già fatto per i precedenti problemi, si sviluppa in serie di Fourier lafunzione ϕ(x) e la si pone uguale alla soluzione trovata, in modo da calcolare tuttii coefficienti An ancora incogniti:

u(x, 0) =+∞∑n=1

cn(0) sin

(nπ

Lx

)=

+∞∑n=1

bn sin

(nπ

Lx

)

Dove i bn sono noti e sono pari a:

bn =2

L

∫ L

0

ϕ(x) sin

(nπ

Lx

)dx

Risolvendo le equazioni si ottengono i coefficienti An:

An = bn −L2

n2π2kn ∀n ∈ N∗

Sostituendo il risultato nell’Eq. (7.6) si ottiene l’espressione finale dei coefficienticn(t):

cn(t) = bnen2π2

L2 t2 +L2

n2π2kn

(1− e

n2π2

L2 t2)

Infine la soluzione al problema di Cauchy non omogeneo risulta essere:

u(x, t) =+∞∑n=1

[bne

n2π2

L2 t2 +L2

n2π2kn

(1− e

n2π2

L2 t2)]

sin

(nπ

Lx

)

7.5.2 Problema di Cauchy-Neumann

A questo punto si analizza la seconda tipologia del problema di diffusione: quellacon le condizioni al bordo di Neumann.

149

Page 168: Appunti del corso di Metodi analitici e numerici...Politecnico di Milano Scuola di Ingegneria Industriale e dell’Informazione Corso di studi in Ingegneria Meccanica Appunti del corso

Condizioni al contorno omogenee

Come sempre si parte dal facile: funzione omogenea con condizioni al contornoomogenee. Il problema differenziale risulta quindi essere:

ut −Duxx = 0 (x, t) ∈ (0, L)× (0, tf )

ux(0, t) = ux(L, t) = 0 t ∈ (0, tf )

u(x, 0) = ϕ(x) x ∈ (0, L)

Non ci sono particolari controindicazioni, quindi si applica il metodo dellaseparazione delle variabili:

u(x, t) = X(x)T (t)

Esattamente come per il problema di Dirichlet si ha:

1

D

T ′

T=

X ′′

X= k ∈ R

Anche in questo caso la costante k può essere positiva, nulla o negativa. Sidistinguono quindi i tre diversi casi:

1. k è un numero positivo (k = λ2 > 0): Il problema diventa:

X ′′(x) = λ2X(x)

La soluzione per il problema spaziale risulta essere:

X(x) = c1eλx + c2e

−λx

Sostituendo le condizioni al contorno di Neumann si trova:X ′(0) = c1λ− c2λ = 0

X ′(L) = c1λeλL − c2λe

−λL = 0

Il determinante della matrice associata a questo sistema è sempre non nullo,

150

Page 169: Appunti del corso di Metodi analitici e numerici...Politecnico di Milano Scuola di Ingegneria Industriale e dell’Informazione Corso di studi in Ingegneria Meccanica Appunti del corso

per cui esiste un’unica soluzione:

c1 = c2 = 0

Questa è una soluzione banale, quindi va scartata.

2. k è nulla: Il problema assume la forma:

X ′′(x) = 0

La cui soluzione è di tipo polinomiale:

X(x) = c1x+ c2

Andando a sostituire le condizioni al contorno ottiene:X ′(0) = 0 = 0

X ′(L) = c1 = 0

Come si può notare la prima equazione è inutile. La matrice associata alsistema ha quindi determinante sempre nullo (riga vuota), quindi per il teo-rema di Rouché-Capelli si hanno ∞1 soluzioni distinte: infatti la constantec2 rimane indeterminata.

Si sono quindi trovate delle soluzioni non banali all’equazione differenziale:le costanti.

X0(x) = c0

3. k è un numero positivo (k = −λ2 < 0): Il problema diventa:

X ′′(x) = −λ2X(x)

La soluzione per il problema spaziale risulta essere:

X(x) = c1 cos(λx) + c2 sin(λx)

151

Page 170: Appunti del corso di Metodi analitici e numerici...Politecnico di Milano Scuola di Ingegneria Industriale e dell’Informazione Corso di studi in Ingegneria Meccanica Appunti del corso

Sostituendo le condizioni al contorno di Neumann si trova:X ′(0) = c1λ = 0

X ′(L) = c1λ cos(λx)− c2λ sin(λL) = 0

Il determinante della matrice associata è pari a λ2 sin(λL), quindi si azzeraogni qual volta che la costante λ è pari a un numero naturale:

sin(λx) = 0 ⇐⇒ Lλ = nπ ⇐⇒ λ =nπ

Ln ∈ N∗

Come sempre se il determinante è nullo allora il sistema delle condizioni albordo ammette più di una soluzione; si ha quindi che la quantità:

X(x) =+∞∑n=1

cn cos

(nπ

Lx

)

Rappresenta la totalità delle soluzioni per il problema relativo alla costantespaziale x.

Il problema sulla coordinata temporale è identico a quello analizzato per ilproblema di Cauchy-Dirichlet (sez. 7.5.1)

T ′(t) = Dλ2T (t) = Dnπ

LT (t)

La cui soluzione è costituita dall’espressione:

T (t) = eDnπL

t

A questo punto si possono rimettere insieme le due soluzioni (quelle ottenuteper k ≤ 0):

U(x, t) = co ++∞∑n=1

cneD nπ

Lt cos

(nπ

Lx

)Naturalmente anche il termine costante c0 è stato moltiplicato per il suo esponen-ziale, ma questo risulta sempre unitario perché è ottenuto con n = 0.

A questo punto i passaggi sono identici al problema di Cauchy-Dirichlet, quindi

152

Page 171: Appunti del corso di Metodi analitici e numerici...Politecnico di Milano Scuola di Ingegneria Industriale e dell’Informazione Corso di studi in Ingegneria Meccanica Appunti del corso

rimane solo da applicare la condizione iniziale di Cauchy, data dalla funzione ϕ(x)

e da verificare che la soluzione totale U(x, t) trovata soddisfi ancora l’equazione didiffusione. Espandendo la funzione ϕ(x) tramite serie di Fourier di soli coseni, siottiene:

U(x, 0) = co ++∞∑n=1

cn cos

(nπ

Lx

)=

a02

++∞∑n=1

an cos

(nπ

Lx

)= ϕ(x)

Dove i termini an si calcolano come:

a02

=1

L

∫ L

0

ϕ(x)dx an =2

L

∫ L

0

ϕ(x) cos

(nπ

Lx

)dx

Adesso si dovrebbe dimostrare che la funzione U(x, t) è una serie di Weierstrasse che quindi soddisfa l’equazione di diffusione e converge alla soluzione u(x, t) delproblema differenziale. La dimostrazione è identica a quella vista per il problemadi Cauchy-Dirichlet (in effetti i coseni sono delle sinusoidi traslate di un quarto diperiodo).

Sostituendo i coefficienti di Fourier ricavati poco fa nella soluzione si ottiene:

u(x, t) =a02

++∞∑n=1

aneD nπ

Lt cos

(nπ

Lx

)

Da notare che i termine costante all’inizio dell’espressione non è moltiplicato pernessun esponenziale decrescente e quindi rappreseneta il valor medio della dellasoluzione al problema di Neumann:

limt→+∞

u(x, t) =a02

Tale concetto è in pieno accordo con tutto quello precedentemente dimostrato nellaSez. 7.3 a pagina 129.

153

Page 172: Appunti del corso di Metodi analitici e numerici...Politecnico di Milano Scuola di Ingegneria Industriale e dell’Informazione Corso di studi in Ingegneria Meccanica Appunti del corso

Condizioni al contorno costanti

Si analizzi ora il problema di Cauchy-Neumann con condizioni al contorno nonomogenee, ma costanti, cioè del tipo:

ut(x, t)−Duxx(x, t) = 0 (x, t) ∈ QT

ux(0, t) = a t ∈ (t0, tf )

ux(L, t) = b t ∈ (t0, tf )

u(x, 0) = ϕ(x) x ∈ (0;L)

(7.7)

Anche in questo caso non si può risolvere direttamente il problema con il meto-do della separazione delle variabili, ma bisogna per prima cosa rendere omogenee lecondizioni al bordo. Si consideri la soluzione al problema come una somma di duefunzioni: una funzione che descrive il transitorio u(x, t), che quindi tende ad annul-larsi nel tempo, e una soluzione stazionaria us(x) che descrive il comportamentodel sistema a tempo infinito.

u(x, t) = u(x, t) + us(x) (7.8)

Si consideri ora solamente la soluzione stazionaria:

∂us

∂t−D

∂3us

∂x2= 0

La soluzione us è una soluzione che per ipotesi non dipende dal tempo, per cuil’equazione di diffusione si riduce a:

∂3us

∂x2= 0

La soluzione proposta per questa equazione differenziale ordinaria del secondoordine è una retta: il problema è che questa tipologia di funzione non è in gradodi soddisfare entrambe le condizioni al contorno, essendo la derivata di una rettauna costante, per cui non è accettabile. Affinché le condizioni di Neumann sianosoddisfatte bisogna imporre che la soluzione stazionaria non sia una retta definita

154

Page 173: Appunti del corso di Metodi analitici e numerici...Politecnico di Milano Scuola di Ingegneria Industriale e dell’Informazione Corso di studi in Ingegneria Meccanica Appunti del corso

in (0, L), ma una parabola del tipo:

us(x) = c1x2 + c2x+ c3

Sotto questa nuova ipotesi le condizioni di Neumann possono tranquillamenteessere soddisfatte, infatti, tralasciando la costante c3 che tanto sparisce nelladerivazione si ha che:

u′s(x) = 2c1 + c2 −→

u′s(0) = c2 = a

u′s(L) = 2c1L+ c2 = b

−→

c1 =b−a2L

c2 = a

La soluzione risulta quindi:

us(x) =b− a

2Lx2 + ax

Emerge però un nuovo problema: la soluzione trovata non ha la derivataseconda costante, ma pari a una quantità finita:

∂3us

∂x2=

b− a

L

Questo non è accettabile, perché a questo punto l’equazione di diffusione nonrisulta più soddisfatta. Per ovviare a questo nuovo problema si sfrutta la secondavariabile, cioè t, che finora è stata esclusa. Si impone dunque che la soluzione us

sia una funzione a due variabili, del tipo:

us(x, t) =b− a

2Lx2 + ax+ ctt

In questo modo la derivazione rispetto al tempo r garantisce che la costante che

155

Page 174: Appunti del corso di Metodi analitici e numerici...Politecnico di Milano Scuola di Ingegneria Industriale e dell’Informazione Corso di studi in Ingegneria Meccanica Appunti del corso

rimane dalla derivata seconda spaziale sia annullata dalla costante ct:

∂us

∂t−D

∂2us

∂x2= 0

ct −Db− a

L= 0

=⇒ ct = Db− a

L

Riassumendo il tutto, la soluzione us(x, t) è pari a:

us(x, t) =b− a

2Lx2 + ax+D

b− a

Lt

Trovata la prima soluzione si passa allo studio del vero e proprio transito-rio. Dalla relazione data dall’Eq. (7.8) e sostituendola nel problema descrittodall’Eq. (7.7) si ottiene:

• l’equazione di diffusione si semplifica per via delle condizioni imposte nellacostruzione della funzione us(x, t):

∂t

(us(x, t) + u(x, t)

)−D

∂2

∂x2

(us(x, t) + u(x, t)

)= 0

∂u

∂t−D

∂2u

∂x2= 0 ∀(x, t) ∈ QT

• le condizioni di Neumann diventano omogenee in u(x, t):ux(0, t) = ux(0, t)− (us)x(0, t) = a− a = 0

ux(L, t) = ux(L, t)− (us)x(L, t) = b− b = 0∀t ∈ (t0, tf )

• la condizione di Cauchy viene riscritta:

u(x, 0) = u(x, 0)− us(x, 0) = ϕ(x)− us(x, 0) = ϕ(x) ∀x ∈ (0, L)

Riscrivendo il tutto, si ottiene un problema di diffusione in u(x, t) omogeneo

156

Page 175: Appunti del corso di Metodi analitici e numerici...Politecnico di Milano Scuola di Ingegneria Industriale e dell’Informazione Corso di studi in Ingegneria Meccanica Appunti del corso

con condizioni di Neumann omogenee:∂u∂t

−D ∂2u∂x2 = 0 ∀(x, t) ∈ QT

ux(0, t) = ux(L, t) = 0 ∀t ∈ (t0, tf )

u(x, 0) = ϕ(x) ∀x ∈ (0, L)

Quest’ultimo è risolvibile tramite la tecnica della separazione delle variabili. Infinela soluzione al problema di diffusione con condizioni di Neumann costanti, descrittodall’Eq. (7.7) è data da:

u(x, t) =a02

++∞∑n=1

aneD nπ

Lt cos

(nπ

Lx

)+

b− a

2Lx2 + ax+D

b− a

Lt

dove al solito le costanti an sono i coefficienti dell’espansione in serie di Fourier disoli seni della funzione ϕ(x).

7.5.3 Principio del massimo e stabilità

Si consideri ora un problema fisico, relativo alla diffusione del calore all’interno diun corpo. Per il secondo principio della termodinamica il calore fluisce da zonepiù calde a zone più fredde del sistema considerato: ne consegue che in tutti isistemi in cui non vi è generazione interna, la massima temperatura che può essereraggiunta si trova per forza sulla frontiera parabolica. Tale principio può esserespecchiato: qualora non vi siano assorbimenti di calore interni al corpo, il minimodella temperatura può essere raggiunto solamente sulla frontiera parabolica.

Teorema 7.5.2 (Principio del massimo e del minimo). Sia u(x, t) una funzio-ne continua su tutto il dominio e differenziabile due volte rispetto alla variabilespaziale x e una su quella temporale t, in tutti i punti interni.

u(x, t) ∈ C2,1(QT ) ∩ C0(QT )

Se la funzione u(x, t) soddisfa:

157

Page 176: Appunti del corso di Metodi analitici e numerici...Politecnico di Milano Scuola di Ingegneria Industriale e dell’Informazione Corso di studi in Ingegneria Meccanica Appunti del corso

• ut − ∇2u = q ≤ 0 in QT allora il massimo della soluzione si trova sullafrontiera parabolica:

max(x,t)∈QT

u(x, t)

= max

(x,t)∈∂PQT

u(x, t)

• ut−∇2u = q ≥ 0 in QT allora il minimo della soluzione si trova sulla frontiera

parabolica:min

(x,t)∈QT

u(x, t)

= min

(x,t)∈∂PQT

u(x, t)

• ut − ∇2u = 0 in QT allora sia il massimo sia il minimo della soluzione si

trovano sulla frontiera parabolica:

max(x,t)∈QT

u(x, t)

= max

(x,t)∈∂PQT

u(x, t)

min

(x,t)∈QT

u(x, t)

= min

(x,t)∈∂PQT

u(x, t)

Dimostrazione 7.5.1 (Principio del massimo). La frontiera parabolica può esserevista come un cilindro avente come base Ω × t = t0 e come superficie laterale∂Ω× [t0, T ).

Sia ε > 0 tale che T − ε > 0 e si ponga w = u− εt. Allora:

wt −D∇2w = q − ε < 0

Supponiamo che per assurdo la funzione w non assuma il valore massimo in ∂PQT−ε

(analogo alla regione QT , solo che l’intervallo dei tempi si riduce di una quantitàε). In questo caso il valore massimo è assunto in un punto (x0, t) dove x0 ∈ Ω et0 < t∗ ≤ T −ε. Essendo il punto (x0, t

∗) un punto di massimo per forza la sommadelle derivate omogenee deve essere negativa, per cui:

∇2w(x0, t∗) ≤ 0

158

Page 177: Appunti del corso di Metodi analitici e numerici...Politecnico di Milano Scuola di Ingegneria Industriale e dell’Informazione Corso di studi in Ingegneria Meccanica Appunti del corso

Inoltre la derivata temporale è:wt(x0, t∗) = 0 se: t∗ < T − ε

wt(x0, t∗) ≥ 0 se: t∗ = T − ε

In ogni caso si ha:wt(x0, t

∗)−∇2w(x0, t∗) ≥ 0

Ma questo è incompatibile con l’ipotesi del problema, poiché la quantità q − ε adestra dell’equazione è per forza negativa.

Per questo motivo il massimo della funzione w sarà per forza sulla frontieraparabolica ∂PQT−ε, inoltre essendo w ≤ u si ha che:

maxQT−ε

w ≤ max∂PQT−ε

w ≤ max∂PQT−ε

u+ Tε

≤ max

∂PQT

u+ Tε (7.9)

Per passare dal massimo della funzione sulla sotto regione QT−ε al massimo dellafunzione sull’intera regione QT è sufficiente far tendere ε → 0:

maxQT−ε

u −→ maxQT

u

Ma facendo il limite della Eq. (7.9) si ottiene:

max∂PQT

u+ Tεε→0−−→ max

∂PQT

u

Partendo dal principio del massimo si possono fare alcune importanti conside-razioni sull’equazione del calore. Per prima cosa si considerino due funzioni diverseu,w ∈ C2,1(QT ) ∩ C0(QT ), che soddisfano i problemi:

ut −D∇2u = f1 wt −D∇2w = f2

Se u ≥ w sulla forntiera parabolica ∂PQT e f1 ≥ f2 allora:

u(x, t) ≥ w(x, t) ∀(x, t) ∈ QT (7.10)

159

Page 178: Appunti del corso di Metodi analitici e numerici...Politecnico di Milano Scuola di Ingegneria Industriale e dell’Informazione Corso di studi in Ingegneria Meccanica Appunti del corso

Inoltre vale:

max(x,t)∈QT

|u− w| ≤ max(x,t)∈∂PQT

|u− w| − T max(x,t)∈QT

|f1 − f2| (7.11)

Questo permette di fare dei confronti tra le diverse funzioni, anche senza sapere leloro espressioni analitiche. Inoltre è anche possibile affermare che il problema didiffusione di Cauchy-Dirichlet dipende in modo continuativo dai dati:

u(x, t)∣∣∂Ω

= g(t) w(x, t)∣∣∂Ω

= g(t) + ε f2 = f1 + ε

Di fatto si sta dicendo che w è uno stato perturbato di u rispetto ai dati al bordo.Applicando le Eq. (7.10) e Eq. (7.11):

max(x,t)∈QT

|u− w| ≤ ε+ Tε = (1 + T )ε

Questo indica che le perturbazioni dei dati in un generico istante sono limitate daquelle che si hanno all’istante iniziale e dal tempo trascorso. L’informazione puòanche essere letta nell’altro senso: se il problema è omogeneo e se si sa a prioriche:

u(x∗, t∗) = max(x,t)∈QT

u(x, t) Con: (x∗, t∗) ∈ QT

Allora:u(x, t) = cost ∀(x, t) ∈ QT

7.6 Problema di diffusione reazione e trasporto

Nel mondo fisico si ha spesso a che fare non solo con i fenomeni diffusivi, ma anchecon quelli di reazione e trasporto. Dati i parametri µ, di diffusione, σ di reazionee la velocità di trasporto v si può definire un modello matematico differenzialedescritto dall’equazione:

∂u

∂t− µ∇2u+ v · ∇u+ σu = f(x, t)

160

Page 179: Appunti del corso di Metodi analitici e numerici...Politecnico di Milano Scuola di Ingegneria Industriale e dell’Informazione Corso di studi in Ingegneria Meccanica Appunti del corso

Ad esso, come sempre, vanno aggiunte la condizione iniziale di Cauchy e una dellecondizioni al bordo.

Per semplicità si consideri un problema monodimensionale omogeneo con con-dizioni al contorno di Dirichlet omogenee:

ut(x, t)− µuxx(x, t) + vux(x, t) + σu(x, t) = 0 (x, t) ∈ QT

u(0, t) = u(L, t) = 0 t ∈ (t0, tf )

u(x, 0) = ϕ(x) x ∈ (0, L)

Il trucco per risolvere questo problema e quello di ritornare a un normale problemadi diffusione; per farlo si impone una soluzione del tipo:

w(x, t) = eαx+βtu(x, t) = g(x, t)u(x, t)

Sostituendo questa equazione all’interno del problema differenziale si ottiene:wt = µwxx (x, t) ∈ QT

w(0, t) = w(L, t) = 0 t ∈ (t0, tf )

w(x, 0) = ϕ(x) x ∈ (0, L)

(7.12)

Risulta quindi necessario calcolare i coefficienti α, β e quindi la funzione ϕ(x);per farlo si impone che la funzione w(x, t) soddisfi l’equazione, le condizioni albordo e quelle iniziali. Per l’equazione basta calcolare le derivate e sostituirenell’equazione di diffusione wt = µwxx:

wt = βg(x, t)u(x, t) + g(x, t)ut(x, t)

wxx = α2g(x, t)u(x, t) + 2αg(x, t)ux(x, t) + g(x, t)uxx(x, t)

=⇒ ut(x, t)− µuxx(x, t)− 2µαux(x, t) + [β − µα2]u(x, t) = 0

Uguagliando i coefficienti delle derivate con quelli presenti nel problema di diffu-

161

Page 180: Appunti del corso di Metodi analitici e numerici...Politecnico di Milano Scuola di Ingegneria Industriale e dell’Informazione Corso di studi in Ingegneria Meccanica Appunti del corso

sione trasporto e reazione si ottiene il sistema:v = −2µα

σ = β − µα2=⇒

α = − v2µ

β = σ + v2

Per quanto riguarda le condizioni al contorno del problema in w(x, t) non ci sonoproblemi, poiché: w(0, t) = g(0, t)u(0, t) = 0

w(L, t) = g(L, t)u(L, t) = 0

Quest’ultimo risulta sempre verificato se le condizioni al contorno di u(x, t) sonoomogenee. Da ultimo va calcolata la condizione iniziale di Cauchy:

ϕ(x) = ϕ(x)eαx = ϕ(x)e−v2µ

x

A questo punto il problema dato dall’Eq. (7.12) risulta completamente definito e sipuò applicare il metodo della separazione delle variabili per trovare w(x, t). Infinela soluzione al problema di diffusione reazione e trasporto, definito dall’Eq. (7.6),risulta essere pari a:

u(x, t) =+∞∑n=1

bnev2µ

x−[µ(

nπL

)2+σ+ v2

]t sin

(nπ

Lx

)

Dove i coefficienti bn sono i coefficienti dell’espansione in serie di Fourier dellafunzione ϕ(x).

La soluzione all’equazione di diffusione reazione e trasporto è costituita dadue esponenziali e da una sinusoide. In particolare, l’esponenziale temporale è ditipo decrescente e dipende dai due parametri σ e v (cioè reazione e trasporto); inparticolare si evince che al crescere di questi due parametri la funzione accelerail suo decadimento. Inoltre la velocità di trasporto tende a spostare la soluzioneverso uno dei bordi assegnati dal problema.

162

Page 181: Appunti del corso di Metodi analitici e numerici...Politecnico di Milano Scuola di Ingegneria Industriale e dell’Informazione Corso di studi in Ingegneria Meccanica Appunti del corso

Capitolo 8

Problema di Laplace

Il problema di Laplace si configura come un problema di diffusione giunto a regimestazionario, tale per cui:

∂u

∂t= 0 ∀x ∈ Ω

Sotto queste condizioni l’equazione di diffusione si semplifica e diventa:

−∇2u(x) = 0 x ∈ Ω

Il problema di Laplace può essere complicato da una funzione forzante; inquesto caso il problema prende il nome di problema di Poisson:

−µ∇2u(x) = f(x)

Naturalmente anche per questa seconda tipologia di problemi differenziali sononecessarie delle condizioni al contorno, identiche a quelle precedenti.

Problema di Dirichlet −∇2u(x) = 0

u(x)∣∣∂Ω

= g(x)x ∈ Ω

163

Page 182: Appunti del corso di Metodi analitici e numerici...Politecnico di Milano Scuola di Ingegneria Industriale e dell’Informazione Corso di studi in Ingegneria Meccanica Appunti del corso

Problema di Neumann−∇2u(x) = 0

∇u(x) · n∣∣∂Ω

= g(x)x ∈ Ω

Problema di Robin−∇2u(x) = 0(∇u(x) · n+ γu(x)

)∣∣∂Ω

= g(x)x ∈ Ω

Problema misto In cui le condizioni al contorno sono definite a tratti secondole tipologie precedenti

Il problema di Laplace in genere è detto anche problema ai limiti, per sottoli-neare l’importanza del ruolo che ricoprono i dati al bordo. Ovviamente dato che siè persa completamente la dipendenza temporale non è più necessaria la condizioneiniziale di Cauchy.

Come si vedrà nei paragrafi successivi per risolvere questi problemi è fonda-mentale la geometria del dominio; in particolare verranno trattate due casistichefondamentali: i domini rettangolari e quelli circolari.

8.1 Unicità della soluzione

Come al solito prima di andare a ricercare eventuali soluzioni al problema diffe-renziale ci si sofferma sull’unicità della soluzione. Anche in questo caso i problemimenzionati nel paragrafo precedente son tutti ben posti, fatta eccezione per ilproblema di Laplace-Neumann.

Prima di procedere si descrivono le condizioni di compatibilità, necessarie allarisoluzione del problema differenziale. Si consideri un problema di Poisson del tipo:

−µ∇2u(x) = f(x)

−µ

∫Ω

∇2u(x)dω =

∫Ω

f(x)dω

164

Page 183: Appunti del corso di Metodi analitici e numerici...Politecnico di Milano Scuola di Ingegneria Industriale e dell’Informazione Corso di studi in Ingegneria Meccanica Appunti del corso

Il primo membro dell’equazione può essere riscritto utilizzando il teorema delladivergenza:

−µ

∫Ω

∇ ·(∇u(x)

)dω = −µ

∮∂Ω

∇u(x) · ndσ =

∫Ω

f(x)dω

Definendo una funzione h(x) = −µ∇u(x)·n si ottiene l’equazione di compatibilità:∮∂Ω

h(x)dω =

∫Ω

f(x)dω

Da notare che questa condizione può essere interpretata come conservazione delflusso di calore: tutto il calore generato internamente (funzione f(x)) coincide conil calore smaltito sui bordi del dominio (funzione h(x)).

Teorema 8.1.1 (Esistenza e unicità soluzione al problema di Laplace). Sia Ω ⊂ Rn

un dominio limitato del problema e ∂Ω la sua frontiera, per ipotesi sufficientementeregolare. Se il problema soddisfa le conduzioni di compatibilità allora:

1. esiste una sola soluzione ai problemi di Laplace con condizioni iniziali diDirichlet, Robin e miste;

2. esistono infinite soluzioni al problema di Laplace-Neumann, definite tutte ameno di una costante;

3. la soluzione è una funzione:

u(x) ∈ C2(Ω) ∩ C1(Ω)

Dimostrazione 8.1.1 (Unicità problemi di Laplace). Per assurdo si ipotizza cheesistono due soluzioni distinte u(x) = v(x) al problema differenziale di Laplace.Dato che l’equazione è lineare, ogni combinazione lineare delle soluzioni sarà ancorasoluzione al problema, per cui si definisce una funzione w(x) tale che:

w(x) = u(x)− v(x)

La funzione w(x) sarà soluzione del problema omogeneo (quindi di Laplace), poichéle eventuali funzioni forzanti si semplificano nell’equazione differenziale. Inoltre,

165

Page 184: Appunti del corso di Metodi analitici e numerici...Politecnico di Milano Scuola di Ingegneria Industriale e dell’Informazione Corso di studi in Ingegneria Meccanica Appunti del corso

lavorando sull’identità:

−µ∇2w(x) = 0 =⇒ w∇2w(x) = 0

Integrando su tutto il dominio e risolvendo l’espressione per parti si ha che:∫Ω

w∇2wdωPP=

∮∂Ω

w∇w · ndσ −∫Ω

∥∇w∥2dω = 0

e si ottiene dunque che: ∫Ω

∥∇w∥2dω =

∮∂Ω

w∇w · ndσ

Il problema è quindi analizzare il secondo integrale, cioè quello al bordo:

Condizioni di Dirichlet

u∣∣∂Ω

= v∣∣∂Ω

= g(x) =⇒ w∣∣∂Ω

≡ 0

E questo risultato implica che il secondo integrale è sempre nullo:

II =∮∂Ω

w∇w · ndσ = 0

Condizioni di Robin

(−µ∇u·n−γu

)∣∣∂Ω

=(−µ∇v·n−γv

)∣∣∂Ω

= g(x) =⇒ −µ∇w·n∣∣∂Ω

= γw

E questo risultato implica che il secondo integrale è sempre minore o almassimo uguale a zero:

II =∮∂Ω

w∇w · ndσ = −γ

µ

∮∂Ω

w2dσ ≤ 0

Condizioni di Neumann

∇u · n∣∣∂Ω

= ∇v · n∣∣∂Ω

= g(x) =⇒ ∇w · n∣∣∂Ω

≡ 0

166

Page 185: Appunti del corso di Metodi analitici e numerici...Politecnico di Milano Scuola di Ingegneria Industriale e dell’Informazione Corso di studi in Ingegneria Meccanica Appunti del corso

E questo risultato implica che il secondo integrale è sempre nullo:

II =∮∂Ω

w∇w · ndσ = 0

Mettendo insieme tutti i risultati si ha che:∫Ω

∥∇w∥2dω =

∮∂Ω

w∇w · ndσ ≤ 0

ma essendo il primo termine una quantità semidefinita positiva (integrale di unafunzione al quadrato), la precedente uguaglianza è verificata solo se:

∇w(x) ≡ 0 ∀x ∈ Ω

Essendo la derivata prima di w(x) sempre nulla, la funzione non può che esserecostante in tutto il dominio.

w = c = cost =⇒ u = v + c

Infine, si possono riutilizzare le condizioni al contorno per completare la dimostra-zione. In particolare:

Dirichlet Nel caso del problema di Dirichlet le condizioni al contorno vincolanole funzioni u(x) e v(x) ad assumere gli stessi valori sul bordo e quindi nesegue che queste coincideranno su tutto il dominio (assurdo, per l’ipotesiprecedente).

u∣∣∂Ω

= v∣∣∂Ω

= g(x)

=⇒ c = 0 =⇒ u ≡ v

Robin Le condizioni al contorno di Robin sono in generale una combinazionelineare della derivata e della funzione. Dalla dimostrazione precedente si ha

167

Page 186: Appunti del corso di Metodi analitici e numerici...Politecnico di Milano Scuola di Ingegneria Industriale e dell’Informazione Corso di studi in Ingegneria Meccanica Appunti del corso

che la derivata di w(x) è nulla, per cui si ritorna ad un problema di Dirichlet.

(− µ∇w · n− γw

)∣∣∂Ω

= w∣∣∂Ω

= 0

=⇒ c = 0 =⇒ u ≡ v

Neumann Le condizioni al contorno di Neumann non sono sufficienti a dimostra-re l’unicità del problema. Si è dimostrato che la differenza w(x) tra le duesoluzioni è una costante, ma in questo caso non si possono fare delle conside-razioni ulteriori (perché la condizione non costringe la funzione ad assumereun certo valore al bordo, ma vincola solamente la derivata):

∇w · n∣∣∂Ω

= 0

=⇒ u = v + cost

8.2 Esistenza della soluzione

Nel paragrafo precedente si è dimostrato che se la soluzione esiste è unica, ora ènecessario andare a ricercare l’espressione della soluzione.

Come già anticipato alla Sez. 8 a pagina 163, nei problemi di Laplace è moltoimportante la conoscenza della geometria del dominio, perché influenzano pesan-temente la forma finale della soluzione. Nei paragrafi successivi verranno trovatele soluzioni per le due più comuni forme di dominio.

8.2.1 Dominio rettangolare

Si consideri una regione di spazio rettangolare, definito su due dimensioni:

Ω =

(x, y) ∈ R2

∣∣∣∣ (x, y) ∈ (0, L)× (0, H)

168

Page 187: Appunti del corso di Metodi analitici e numerici...Politecnico di Milano Scuola di Ingegneria Industriale e dell’Informazione Corso di studi in Ingegneria Meccanica Appunti del corso

Condizioni al contorno omogenee su tre lati

Per semplicità si impongono le condizioni al contorno di Dirichlet solamente su unlato del rettangolo. Il problema, posto in questi termini diventa:

∇2u(x, y) = 0 (x, y) ∈ Ω

u(0, y) = u(L, y) = 0 y ∈ (0, H)

u(x,H) = 0 x ∈ (0, L)

u(x, 0) = g(x) x ∈ (0, L)

(8.1)

A questo punto si applica la tecnica della separazione delle variabili, definendola soluzione come:

u(x, y) = X(x)Y (y)

in cui le funzioni X(x) e Y (y) sono due funzioni a variabile reale del tipo:

X(x) : R −→ R Y (y) : R −→ R

Per prima cosa l’espressione della soluzione u(x, y) deve soddisfare l’equazionedifferenziale, per cui, sostituendo si ottiene:

X ′′Y +XY ′′ = 0 =⇒ X ′′

X= −Y ′′

Y= k

in cui k non può essere che una costante reale, per via del fatto che entrambi i pro-blemi sono definiti su una sola delle due variabili, che sono a loro volta indipendentitra loro.

Utilizzando il problema nella variabile x e le sue condizioni al contorno definiteal problema descritto dall’Eq. (8.1) si ottiene:X ′′(x)− kX(x) = 0

X(0) = X(L) = 0

Come si nota subito, la funzione g(x) è stata lasciata un attimo da parte, per orasi considerano solamente condizioni al contorno omogenee.

169

Page 188: Appunti del corso di Metodi analitici e numerici...Politecnico di Milano Scuola di Ingegneria Industriale e dell’Informazione Corso di studi in Ingegneria Meccanica Appunti del corso

Ancora una volta andando a risolvere il problema della funzione X(x) ci si devesoffermare sul segno della costante k:

• costante positiva: k = λ2 > 0

In questo caso la soluzione al problema è data da:

X(x) = c1eλx + c2e

−λx

Imponendo le condizioni al contorno si ottiene il sistema:X(0) = c1 + c2 = 0

X(L) = c1eλL + c2e

−λL = 0

Analizzando il determinante della matrice associata si scopre che questo nonpuò mai annullarsi:∣∣∣∣∣ 1 1

eλL e−λL

∣∣∣∣∣ = e−λL − eλL = 0 ∀L > 0

Per il teorema di Cramer il sistema avrà una sola soluzione ed essendoquest’ultimo omogeneo si otterrà solamente:

c1 = c2 = 0

Tali condizioni corrispondono alla soluzione banale dell’equazione differen-ziale, per cui sono da scartare.

• costante nulla: k = 0

In questo caso la soluzione si riduce a un’espressione polinomiale, del tipo:

X(x) = c1x+ c2

170

Page 189: Appunti del corso di Metodi analitici e numerici...Politecnico di Milano Scuola di Ingegneria Industriale e dell’Informazione Corso di studi in Ingegneria Meccanica Appunti del corso

Imponendo le condizioni al contorno si ottiene il seguente sistema:X(0) = c2 = 0

X(L) = c1L+ c2 = 0

Anche per questo secondo caso si ha l’unicità della soluzione al sistemalineare, poiché: ∣∣∣∣∣0 1

L 1

∣∣∣∣∣ = −L = 0 ∀L > 0

Quindi anche in questo caso si ottiene la soluzione banale:

c1 = c2 = 0

• costante negativa k = −λ2 < 0

Da ultimo si utilizza la costante negativa e nel farlo si ottiene la soluzione:

X(x) = c1 cos(λx) + c2 sin(λx)

Poste quindi le condizioni al contorno omogenee si ottiene il sistema lineare:X(0) = c1 = 0

X(L) = c1 cos(λL) + c2 sin(λL)

In questo caso non è per nulla scontata l’unicità della soluzione, poiché ildeterminante della matrice associata al sistema lineare è pari a:∣∣∣∣∣ 1 0

cos(λL) sin(λL)

∣∣∣∣∣ = sin(λL) = 0 ⇐⇒ λ =nπ

Ln ∈ N∗

In questo caso si ottiene sia la soluzione banale, sia un insieme di infintesoluzioni del tipo:

Xn(x) = cn sin(nπL

)Appurato che la costante k = nπ

Lsi discute ora del secondo problema, cioè

171

Page 190: Appunti del corso di Metodi analitici e numerici...Politecnico di Milano Scuola di Ingegneria Industriale e dell’Informazione Corso di studi in Ingegneria Meccanica Appunti del corso

quello relativo alla variabile y:Y ′′(y)−(nπL

)2Y (y) = 0

Y (H) = 0

Come si vede è stata lasciata libera la condizione al contorno su y = 0, che verràdeterminata in seguito: si tratta infatti del lato su cui sono definite le condizionial contorno in x.

La soluzione a questo problema è dunque:

Yn(y) = c1,nenπL

x + c2,ne−nπ

Lx

e imponendo l’unica condizione al contorno rimanente si ha che:

Yn(H) = 0 =⇒ c1,nenπL

H + c2,ne−nπ

LH = 0

Da quest’ultima equazione si ricava la relazione tra c1,n e c2,n:

c2,n = −c1,ne2nπ

LH

A questo punto si sostituisce quanto appena ricavato nella soluzione ottenutaprecedentemente e si riarrangia quest’ultima in modo da semplificare la notazione:

Yn(y) = cn

[e

nπL

y − e2nπL

He−nπL

y

]= 2cne

nπL

H

[e

nπL

(y−H) − enπL

(H−y)

2

]= −2cne

nπL

H

[−e−

nπL

(H−y) + enπL

(H−y)

2

]= −2cne

nπL

H sinh[nπL(H − y)

]= dn sinh

[nπL(H − y)

]

172

Page 191: Appunti del corso di Metodi analitici e numerici...Politecnico di Milano Scuola di Ingegneria Industriale e dell’Informazione Corso di studi in Ingegneria Meccanica Appunti del corso

Ricomponendo tutti i pezzi si ottiene la seguente soluzione:

u(x, y) =+∞∑n=1

cn sin(nπLx) sinh

[nπL(H − y)

]dove nei coefficienti cn sono state raggruppate tutte le varie costanti. A questopunto occorre imporre che la soluzione soddisfi la condizione dettata dalla funzioneg(x):

u(x, 0) =+∞∑n=1

cn sin(nπLx) sinh

(nπLH)= g(x)

Per risolvere questa equazione si è costretti a sviluppare in serie di Fourier la fun-zione g(x), in un’espansione di soli seni (quindi si sta supponendo che la funzioneg(x) ∈ L2(0, L)):

cn =bn

sinh(nπLH) bn =

2

L

∫ L

0

g(x) sin(nπL

x)dx

La soluzione finale al problema descritto dell’Eq. (8.1) risulta essere pari a:

u(x, y) =+∞∑n=1

bn sin(nπLx)

sinh[nπL(H − y)

]sinh

[nπLH]

Generico problema rettangolare

Questo problema non è altro che la generalizzazione del caso precedente. In questanuova situazione le condizioni al contorno sono definite su ogni lato della regionesu cui è definita l’equazione; in tal caso il problema risulta essere:∇2u(x, y) = 0 (x, y) ∈ (0, L)× (0, H)

u∣∣Γi

= gi i = 1, 2, 3, 4

dove le quattro funzioni g1 sono definite come:

g1(x), g3(x) : (0, L) −→ R g2(y), g4(y) : (0, H) −→ R

Al fine di semplificare il problema si sfrutta la proprietà di linearità dell’ope-

173

Page 192: Appunti del corso di Metodi analitici e numerici...Politecnico di Milano Scuola di Ingegneria Industriale e dell’Informazione Corso di studi in Ingegneria Meccanica Appunti del corso

ratore differenziale del laplaciano (e quindi dell’equazione), utilizzando il principiodi sovrapposizione degli effetti; in tal modo si possono risolvere quattro problemipiù semplici, come quello analizzato nel caso precedente:∇2u(x, y) = 0 (x, y) ∈ Ω

u∣∣Γi

= δikgi i = 1, 2, 3, 4per k = 1, 2, 3, 4

Il problema differenziale è stato appena riscritto utilizzando la notazione del deltadi Krnoneker (Def. 3.1.3 a pagina 51 ).

La soluzione al problema sarà quindi data dalla sommatoria delle quattrosoluzioni:

u(x, y) =4∑

k=1

uk(x, y)

Importantissimo notare che ognuna delle quattro soluzioni è diversa dalle altre:

u1(x, y) =+∞∑n=1

b(1)n sin(nπLx)

sinh[nπL(H − y)

]sinh

[nπLH]

u2(x, y) =+∞∑n=1

b(2)n sin(nπHy)sinh

[nπH(L− x)

]sinh

[nπHL]

u3(x, y) =+∞∑n=1

b(3)n sin(nπLx)

sinh[nπLy]

sinh[nπLH]

u4(x, y) =+∞∑n=1

b(4)n sin(nπHy)

sinh[nπHx]

sinh[nπHL]

8.2.2 Dominio circolare

Si supponga di aver un dominio a simmetria polare di due dimensioni (cerchi,corone circolari. . . ) su cui è definito il problema di Laplace. In questo casorisulta di gran lunga conveniente utilizzare le coordinate polari, al posto che le

174

Page 193: Appunti del corso di Metodi analitici e numerici...Politecnico di Milano Scuola di Ingegneria Industriale e dell’Informazione Corso di studi in Ingegneria Meccanica Appunti del corso

solite cartesiane:x = ρ sin(ϑ)

y = ρ sin(ϑ)⇐⇒

ρ = x2 + y2

ϑ = arctan yx

ρ ∈ R+0 , ϑ ∈ [−π,+π)

Teorema 8.2.1 (Operatore laplaciano su coordinate polari). L’operatore di La-place definito sulle coordinate polari è pari alla quantità:

∇2P =

∂2

∂ρ2+

1

ρ

∂ρ+

1

ρ2∂2

∂ϑ2

Prima di iniziare a risolvere i problemi in coordinate polari è giusto definire idomini su cui si andrà a lavorare:

Ω =

(x, y) ∈ R2

∣∣∣∣ x2 + y2 < R2

∂Ω =

(x, y) ∈ R2

∣∣∣∣ x2 + y2 = R2

Il problema di Laplace diventa quindi:∇2

Pu(ρ, ϑ) = 0

u∣∣ρ=R

= g(ϑ)(ρ, ϑ) ∈ Ω (8.2)

A questo punto la soluzione sarà della forma (tecnica della separazione dellevariabili):

u(ρ, ϑ) : [0, R)× [−π,+π) −→ R

u(ρ, ϑ) = P(ρ)Θ(ϑ)

Inserendo nell’equazione questa espressione si ottiene:

P′′Θ+1

ρP′Θ+

1

ρ2PΘ′′ = 0

Anche in questo caso si vogliono ottenere due problemi indipendenti, pertanto si

175

Page 194: Appunti del corso di Metodi analitici e numerici...Politecnico di Milano Scuola di Ingegneria Industriale e dell’Informazione Corso di studi in Ingegneria Meccanica Appunti del corso

ricava:

−P′′(ρ) + 1

ρP′(ρ)

1ρ2P(ρ)

=Θ′′(ϑ)

Θ(ϑ)= k ∈ R

Si parta dal problema più semplice, ossia quello in Θ(ϑ): al fine di di trovare unasoluzione accettabile per il problema, la funzione incognita deve per forza di coseessere 2π-periodica (altrimenti dopo un giro risulta quantomeno discontinua).

• Costante positiva: k = λ2 > 0

Sotto questa ipotesi l’equazione differenziale diventa:

Θ′′(ϑ)− λ2Θ(ϑ) = 0

e ammette una soluzione nella forma:

Θ(ϑ) = c1eλϑ + c2e

−λϑ

Quest’ultima è un’espressione che non può mai essere periodica, per cui lasoluzione è da scartare.

• Costante nulla: k = 0

Imponendo che la costante sia nulla l’equazione diventa:

Θ′′(ϑ) = 0

la cui soluzione è rappresentata della famiglia delle rette:

Θ(ϑ) = c1ϑ+ c2

Imponendo che la soluzione sia periodica, si ricava:

Θ(0) = Θ(2π) =⇒ c2 = c12π + c2

Quindi se la costante c1 = 0 allora la periodicità risulta rispettata. Le unichesoluzioni accettabili sono quindi le costanti:

Θ0(ϑ) = c0

176

Page 195: Appunti del corso di Metodi analitici e numerici...Politecnico di Milano Scuola di Ingegneria Industriale e dell’Informazione Corso di studi in Ingegneria Meccanica Appunti del corso

• Costante negativa: k = −λ2 < 0

Da ultimo si impone che la constate sia negativa; da questo ne consegue chel’equazione assume la forma:

Θ′′(ϑ)− λ2Θ(ϑ) = 0

ed essa ammette soluzione pari a:

Θ(ϑ) = c1 cos(λϑ) + c2 sin(λϑ)

Imponendo la condizione di periodicità si ha che:

Θ(−π) = Θ(π)

c1 cos(λπ)− c2 sin(λπ) = c1 cos(λπ) + c2 sin(λπ)

2c2 sin(λπ) = 0

Affinché non vi siano soluzioni banali, si deve per forza azzerare il seno; daquesto ne segue che:

λ = n ∈ N∗

Alla fine delle riflessioni relative alla funzione Θ(ϑ) si hanno due diverse tipo-logie di funzioni accettabili:

1. costante nulla genera Θ(ϑ) = c0;

2. costante negativa genera Θ(ϑ) = c1 cos(λϑ) + c2 sin(λϑ).

Si procede dunque valutando i due diversi casi sulla funzione P(ρ):

1. costante nulla:

Il problema differenziale diventa:

P′′(ρ) +1

ρP′(ρ) = 0

177

Page 196: Appunti del corso di Metodi analitici e numerici...Politecnico di Milano Scuola di Ingegneria Industriale e dell’Informazione Corso di studi in Ingegneria Meccanica Appunti del corso

Per risolvere questo nuovo problema non si fa altro che integrare:

P′′(ρ)

P′(ρ)= −1

ρ∫P′′(ρ)

P′(ρ)dρ = −

∫1

ρdρ

ln|P′(ρ)| = − ln|ρ|+ k1

P′(ρ) = ek1ρ−1 = c1ρ−1∫

P′(ρ)dρ =

∫c1ρ

−1dρ

P(ρ) = c1 ln∣∣∣ ρR

∣∣∣+ c2

2. costante negativa:

Il problema differenziale a questo punto è completo:

ρ2P′′(ρ) + ρP(ρ)− n2P(ρ) = 0

Questa è un’equazione differenziale nota (Eq. di Bernoulli). Si suppongache la soluzione sia del tipo: P(ρ) = ρα; sostituendo si ottiene:

ρ2α(α− 1)ρα−2 + ραρα−1 − n2ρα = 0

ρα[α2 − n2] = 0

=⇒ α = ±n

La soluzione risulta essere pari a:

Pn(ρ) = c1

R

)n

+ c2

R

)−n

Ricomponendo finalmente tutti i pezzi si può riscrivere la soluzione più generaleal problema dato dall’Eq. (8.2) come somma di due termini a parte e quattro

178

Page 197: Appunti del corso di Metodi analitici e numerici...Politecnico di Milano Scuola di Ingegneria Industriale e dell’Informazione Corso di studi in Ingegneria Meccanica Appunti del corso

sommatorie:

u(ρ, ϑ) = c0 + c0 ln∣∣∣ ρR

∣∣∣+ +∞∑n=1

R

)n[cn cos(nϑ) + dn sin(nϑ)

]+

+

R

)−n[cn cos(nϑ) + dn sin(nϑ)

]

Da ultimo è necessario inserire le condizioni al contorno. Prima di farlo peròbisogna soffermarsi su una semplice riflessione: si considerino i termini del loga-ritmo e del raggio elevato alla meno uno. Tali termini divergono nel momento incui il raggio tende ad annullarsi, quindi va da se che se nel dominio è presentel’origine tutti i coefficienti che moltiplicano questi termini devono per forza di coseannullarsi:

c0 = cn = dn = 0 ∀n

Problema su una regione circolare

Si consideri di essere nel caso della regione più semplice: una circolare. Applicandole condizioni al contorno si ha che:

u(ρ, ϑ)∣∣∂Ω

= g(ϑ)

Sviluppando in serie di Fourier la funzione g(ϑ) si ottiene:

g(ϑ) = a0 ++∞∑n=1

[an cos(nϑ) + bn sin(nϑ)

]∀ϑ

A differenza delle altre volte l’integrazione per il calcolo dei coefficienti è legger-mente diversa:

a0 =1

∫ +π

−π

g(ϑ)dϑ an =1

π

∫ +π

−π

g(ϑ) cos(nϑ)dϑ bn =1

π

∫ +π

−π

g(ϑ) sin(nϑ)dϑ

179

Page 198: Appunti del corso di Metodi analitici e numerici...Politecnico di Milano Scuola di Ingegneria Industriale e dell’Informazione Corso di studi in Ingegneria Meccanica Appunti del corso

Problema su una corona circolare

Supponendo che R2 > R2 > 0, si definisce il dominio come:

Ω =

(x, y) ∈ R2

∣∣∣∣ R21 < x2 + y2 < R2

2

Questa volta non si sarà solamente un bordo, ma due (la circonferenza interna equella esterna):

Γ1 =

(x, y) ∈ R2

∣∣∣∣ x2 + y2 = R21

Γ2 =

(x, y) ∈ R2

∣∣∣∣ x2 + y2 = R22

Conseguentemente il problema risulta essere:

∇2Pu = 0

u∣∣Γ1

= g1(ϑ)

u∣∣xΓ2

= g2(ϑ)

(ρ, γ) ∈ Ω

Con la tecnica della separazione delle variabili si ottiene il medesimo risultato diprima:

u(ρ, ϑ) = c0 + c0 ln

∣∣∣∣ ρR2

∣∣∣∣+ +∞∑n=1

R2

)n[cn cos(nϑ) + dn sin(nϑ)

]+

+

R2

)−n[cn cos(nϑ) + dn sin(nϑ)

]

Questa volta non si possono azzerare tutti i coefficienti delle funzioni che divergononell’origine, perché quest’ultima non appartiene al dominio. Andando a svilupparele funzioni g1(ϑ) e g2(ϑ) in serie di Fourier e imponendo le condizioni al contorno

180

Page 199: Appunti del corso di Metodi analitici e numerici...Politecnico di Milano Scuola di Ingegneria Industriale e dell’Informazione Corso di studi in Ingegneria Meccanica Appunti del corso

si ottengono tre sistemi da risolvere per ricavare i coefficienti:c0 + c0 ln

∣∣∣∣R1

R2

∣∣∣∣ = 1

∫ +π

−π

g1(ϑ)dϑ

c0 + c0 ln|1| =1

∫ +π

−π

g2(ϑ)dϑ

cn

(R1

R2

)n

+ cn

(R1

R2

)−n

=1

π

∫ +π

−π

g1(ϑ) cos(nϑ)dϑ

cn1n + cn1

−n =1

π

∫ +π

−π

g2(ϑ) cos(nϑ)dϑdn

(R1

R2

)n

+ dn

(R1

R2

)−n

=1

π

∫ +π

−π

g1(ϑ) sin(nϑ)dϑ

dn1n + dn1

−n =1

π

∫ +π

−π

g2(ϑ) sin(nϑ)dϑ

Tutti questi sistemi lineari risultano avere determinante non nullo se R1 = R2,quindi ammettono sempre una sola soluzione soluzione.

Formula di Poisson

Dato un problema di Laplace definito su un insieme Ω ∈ R2 con Ω = BR(0), cioèun intorno sferico di raggio R centrato nell’origine (Def. 8.3.2), con condizioni albordo di Dirichlet: ∇2u(x) = 0

u∣∣∂Ω

= g

Si ricava che la soluzione è una funzione u(ρ, ϑ) definita come:

u(ρ, ϑ) =1

∫ π

−π

(R2 − ρ2)g(α)

R2 + ρ− 2Rρ cos(ϑ− α)dα

8.3 Proprietà funzioni armoniche

Ci sono alcune funzioni che sono più regolari delle altre e che godono di notevoliproprietà che permettono di semplificare di non poco i problemi fisici-matematiciad esse associati.

181

Page 200: Appunti del corso di Metodi analitici e numerici...Politecnico di Milano Scuola di Ingegneria Industriale e dell’Informazione Corso di studi in Ingegneria Meccanica Appunti del corso

Definizione 8.3.1 (Funzione armonica). Una funzione v(x) si dice armonica inΩ ⊆ Rn se:

v(x) ∈ C2(Ω)∣∣ ∇2v(x) = 0

In altre parole, si può dire che una funzione è armonica se soddisfa l’equazione diLaplace.

Sono quindi delle funzioni armoniche tutte le costanti, le rette, le sinusoidi,le esponenziali. . . Tutte queste sono funzioni particolarmente regolari e quindinon è difficile immaginare che siano caratterizzate tutte quanti da importanticaratteristiche.

8.3.1 Teorema della media

La prima proprietà che caratterizza le funzioni armoniche riguarda i valore dellamedia integrale.

Definizione 8.3.2 (Intorno sferico). Si definisce intorno sferico di raggio R uninsieme tale che:

BR(x) =

y ∈ Rn

∣∣∣∣ ∥y − x∥ < R

Teorema 8.3.1 (Media integrale di funzioni armoniche). Si consideri un intornosferico BR(x), di raggio R e centrato in x e una funzione armonica v(x), definitasu un dominio Ω ⊆ Rn. Allora ∀BR(x) ⊂ Ω si ha che:

v(x) =1

|BR(x)|

∫BR(x)

v(y)dy

v(x) =1

|∂BR(x)|

∮∂BR(x)

v(y)dy

Dove |BR(x)| e |∂BR(x)| sono le misure dell’intorno: nella Tab. 8.1 sono riportatii principali valori per diverse dimensioni.

182

Page 201: Appunti del corso di Metodi analitici e numerici...Politecnico di Milano Scuola di Ingegneria Industriale e dell’Informazione Corso di studi in Ingegneria Meccanica Appunti del corso

Tabella 8.1: Principali valori delle misure di intorni sferici per diverse dimensioni.

n = 1 n = 2 n = 3 n = 4

|BR(x)| 2R πR2 43πR3 1

2π2R4

|∂BR(x)| 2πR 4πR2 2π2R3

Il teorema della media può essere generalizzato. In particolare se la funzionev(x) non è armonica allora si ha che su un intorno sferico di raggio R:

∇2v(x) > 0 v(x) ≤ vmed

∇2v(x) < 0 v(x) ≥ vmed

Teorema 8.3.2 (Media integrale di funzioni armoniche). Data una funzione con-tinua v(x) ∈ C0(Ω) che possiede le proprietà del Teo. 8.3.1 allora è anche unafunzione armonica e:

v(x) ∈ C∞(Ω)

8.3.2 Principio del massimo

Anche per l’equazione di Laplace e quindi per le funzioni armoniche, soluzionidell’equazione vale il principio del massimo analizzato per l’equazione di diffusione.

Teorema 8.3.3 (Principio del massimo). Data una funzione v(x) armonica allora:

minx∈∂Ω

v(x)

≤ v(x) ≤ max

x∈∂Ω

v(x)

In altre parole il minimo e il massimo della funzione si possono trovare solamentesulla frontiera del dominio su cui è definita la funzione.

Tale teorema porta con se delle immediate conseguenze:

1. Se la funzione v(x) è armonica e il minimo o il massimo vengono assunti perpunti interni al dominio allora la funzione non può che essere una costante.

183

Page 202: Appunti del corso di Metodi analitici e numerici...Politecnico di Milano Scuola di Ingegneria Industriale e dell’Informazione Corso di studi in Ingegneria Meccanica Appunti del corso

2. Si consideri il problema differenziale su Ω definito da:∇2u = 0

u∣∣∂Ω

= g

Per forza di cose si ha che

∀ g(x) ∈ C0(∂Ω) ∃!ug(x) ∈ C2(Ω) ∩ C0(Ω)

dove ug(x) è soluzione del problema associato. Siano dunque due funzionig1 e g2 due dati di Dirichlet al bordo e u1 e u2 le due soluzioni associate.

(a) se g1 > g2 allora:u1 > u2 ∀x ∈ Ω

(b) è garantita la stabilità e la dipendenza con continuità dai dati:

|u1 − u2| ≤ maxx∈∂Ω

|g1 − g2| ∀x ∈ Ω

184

Page 203: Appunti del corso di Metodi analitici e numerici...Politecnico di Milano Scuola di Ingegneria Industriale e dell’Informazione Corso di studi in Ingegneria Meccanica Appunti del corso

Parte III

Problemi in forma debole

185

Page 204: Appunti del corso di Metodi analitici e numerici...Politecnico di Milano Scuola di Ingegneria Industriale e dell’Informazione Corso di studi in Ingegneria Meccanica Appunti del corso

Capitolo 9

Introduzione alla forma debole

Si consideri il problema differenziale Lu = f dove L è un operatore differenzialegenerico, u la soluzione e f la forzante. La formulazione classica (o forma forte) delproblema implica che la soluzione u deve essere valida in ogni punto del dominiosu cui è definita e inoltre devono esistere ed essere continue tutte le sue derivatepresenti nell’operatore differenziale L.

Il fatto è che sotto queste ipotesi si escludono automaticamente una grandequantità di casistiche di notevole interesse fisico che magari non godono di questeproprietà, per cui è necessario rilassare queste ipotesi.

Definizione 9.0.1 (Delta di Dirac). Data la funzione gn(x) definita come:

gn(x) =

0 x < 0 e x ≥ 1/n

n 0 ≤ x ≤ 1/n

si chiama Delta di Dirac δ0(x) il limite:

limn→+∞

gn(x) = δ0(x)

In particolare si ha che: ∫Rgn(x)dx = 1 ∀n

Il delta di Dirac è quindi la funzione impulso, cioè vale zero sempre tranne nell’o-rigine in cui assume il valore uno. In realtà il punto su cui avviene l’impulso può

186

Page 205: Appunti del corso di Metodi analitici e numerici...Politecnico di Milano Scuola di Ingegneria Industriale e dell’Informazione Corso di studi in Ingegneria Meccanica Appunti del corso

essere spostato in un punto c qualsiasi, tramite le seguenti notazioni.

δc(x) δ(x− c)

Un’altra notevole proprietà del delta di Dirac è data da:∫δc(x)ϕ(x)dx = ϕ(c)

cioè l’integrale indefinito di una funzione integrabile generica moltiplicata per ildelta di Dirac è pari al valore della funzione nel punto.

Definizione 9.0.2 (Funzione di Heaviside). Si chiama funzione di Heaviside lafunzione definita come:

H(x− c) =

1 x ≥ c

0 x < cc ∈ R

La derivata della funzione di Heaviside può essere identificata nel delta di Dirac:

d

dxH(x− c) = δc(x)

Mentre il suo integrale, ricavabile partizionando il dominio di integrazione vienespesso chiamata funzione rampa:

R(x) =

∫ x

−∞H(ξ)dξ = xH(x)

Alla luce dell’introduzione di queste nuove definizioni si può fare un’importanteriflessione in merito ai problemi differenziali.

Si consideri un filo teso di lunghezza unitaria al cui centro è messo in ten-sione da una forza di intensità unitaria. Ora, tutto questo può essere modellatomatematicamente tramite il problema:−u′′(x) = δ 1

2(x)

u(0) = u(1) = 0x ∈ (0, 1)

187

Page 206: Appunti del corso di Metodi analitici e numerici...Politecnico di Milano Scuola di Ingegneria Industriale e dell’Informazione Corso di studi in Ingegneria Meccanica Appunti del corso

Si nota immediatamente che la funzione f(x) = δ 12(x) non è una funzione continua

nel dominio, quindi non può esistere la formulazione forte al problema appenapresentato; tuttavia nella pratica comune si può avere esperienza tutti i giorni diquesto fenomeno.

Non esiste quindi una formulazione forte al problema, ma può esistere unaformulazione debole. Per prima cosa si può integrare da entrambi i lati:

−u′(x) = −∫ x

0

u′′(τ)dτ =

∫ x

0

δ 12(τ)dτ + c =

c x ∈ (0, 1/2)

c+ 1 x ∈ [1/2, 1)

u′(x) =

−c x ∈ (0, 1/2)

−(c+ 1) x ∈ [1/2, 1)

Integrando ancora una volta sulla coordinata spaziale si ottiene:

u(x) =

−cx+ d x ∈ (0, 1/2)

−(c+ 1)x+ e x ∈ [1/2, 1)

Imponendo le condizioni al contorno di Dirichlet si ottiene:

u(x) =

−x/2 x ∈ [0, 1/2)

1/2(x− 1) x ∈ [1/2, 1]

che corrisponde alla soluzione del problema. Quest’ultima è una funzione continua,ma non derivabile neanche al primo ordine; per questo motivo non si può dire cheè una soluzione al problema posto in formulazione forte.

La tecnica appena vista prende il nome di formulazione del problema diffe-renziale debole, ossia si cerca di integrare una funzione, eventualmente sfruttandoalcune particolari proprietà di integrazione

188

Page 207: Appunti del corso di Metodi analitici e numerici...Politecnico di Milano Scuola di Ingegneria Industriale e dell’Informazione Corso di studi in Ingegneria Meccanica Appunti del corso

Capitolo 10

Elementi di analisi funzionale

Prima di procedere con ulteriori riflessioni in merito alla formulazione debole diproblemi differenziali, è necessario analizzare ed eventualmente generalizzare alcuniconcetti.

Integrale di Lebesgue

L’integrale di Lebesgue è una generalizzazione dell’integrale di Riemann, cioèquello che viene comunemente utilizzato nelle operazioni differenziali.

Si considerino ad esempio due funzioni f è g, uguali in ogni punto, fatta ec-cezione di alcune porzioni di dominio caratterizzate da aerea sottesa infinitesima(esempio di questo può essere dato da discontinuità di terza specie. . . ). Sottoqueste ipotesi si ha che: ∫

Ω

fdω =

∫Ω

gdω

Cioè si utilizza una funzione g di poco più regolare di f (e quindi più facile daintegrare) per svolgere l’operazione di integrazione.

Quindi si ha che: la funzione f è integrabile se e solo se la funzione g risultaintegrabile. Inoltre si hanno le seguenti proprietà:

1. f è integrabile se e solo se |f | è integrabile;

2. f è integrabile secondo Riemann, in senso generalizzato, se e solo se f èintegrabile secondo Lebesgue.

189

Page 208: Appunti del corso di Metodi analitici e numerici...Politecnico di Milano Scuola di Ingegneria Industriale e dell’Informazione Corso di studi in Ingegneria Meccanica Appunti del corso

Derivazione nel senso delle distribuzioni

La derivazione nel senso delle distribuzioni è una generalizzazione della normalederivata. Si consideri ad esempio la funzione H(x) di Heaviside: si ha che questafunzione non è derivabile in senso classico nel punto x = 0, ma lo è nel senso delledistribuzioni:

d

dxH(x) = δ0(x)

Importantissimo è notare che se una funzione è derivabile in senso classico alloraper forza lo è anche nel senso delle distribuzioni.

10.1 Spazi di Hilbert

Gran parte della teoria della risoluzione di equazioni differenziali in forma deboleè basata sugli spazi di Hilbert, che sono alcuni particolari spazi vettoriali.

Definizione 10.1.1 (Spazio vettoriale). Uno spazio vettoriale è un insieme V

chiuso rispetto a due operazioni: somma e prodotto per scalare:

∀ v, u ∈ V v + u = w ∈ V

∀ v ∈ V α ∈ R αv = w ∈ V

Tali operazioni devono avere le seguenti proprietà:

1. Elemento neutro:v + 0 = v 1v = v

2. Elemento opposto:v + (−v) = 0 v

1

v= 1

3. Commutativa:v + u = u+ v αv = vα

4. Associativa (pseudo-associativa per il prodotto per scalare):

u+ (v + w) = (u+ v) + w (αβ)v = α(βv)

190

Page 209: Appunti del corso di Metodi analitici e numerici...Politecnico di Milano Scuola di Ingegneria Industriale e dell’Informazione Corso di studi in Ingegneria Meccanica Appunti del corso

5. Distributiva.

Vi sono molteplici esempi di spazi vettoriali, tra essi si riportano:

1. l’insieme R;

2. i vettori di Rn;

3. i polinomi di grado n, Pn;

4. i polinomi trigonometrici di grado n, Πn;

5. l’insieme delle funzioni continue su [a, b], intervallo generico, C0([a, b]).

Ogni spazio vettoriale è dotato di una norma, cioè un’operazione propria diquello spazio, che associa ad ogni vettore un numero scalare positivo.

Definizione 10.1.2 (Norma). Dato uno spazio vettoriale lineare V , si definiscenorma una funzione

∥·∥ : V −→ R

che gode delle seguenti proprietà:

1. Positività:

∥v∥ ≥ 0 ∀ v ∈ V e ∥v∥ = 0 ⇐⇒ v = 0

2. Omogeneità:∀λ ∈ R ∀ v ∈ V ∥λv∥ = |λ|∥v∥

3. Disuguaglianza triangolare

∀ v, u ∈ V ∥x+ y∥ ≤ ∥v∥+ ∥u∥

Definizione 10.1.3 (Distanza). Si definisce distanza tra due elementi apparte-nenti al medesimo spazio vettoriale x, y ∈ V come:

d(x, y) = ∥x− y∥

191

Page 210: Appunti del corso di Metodi analitici e numerici...Politecnico di Milano Scuola di Ingegneria Industriale e dell’Informazione Corso di studi in Ingegneria Meccanica Appunti del corso

In questo caso si dice che lo spazio vettoriale V è normato, cioè dotato di norma,e metrico, poiché su di esso è definita una distanza.

Definizione 10.1.4 (Sequenza di elementi). Si chiama sequenza di elementi sullospazio vettoriale X una successione nn ∈ X quando questa converge a un vettorex ∈ X, cioè:

d(xn, x) = ∥xn − x∥ x→+∞−−−−→ 0+

Definizione 10.1.5 (Sequenza di Cauchy). Si chiama sequenza di Cauchy sullospazio vettoriale X una successione nn ∈ X tale che:

d(xn, xm) = ∥xn − xm∥ −→ 0+ n,m −→ +∞

Teorema 10.1.1 (Sequenze e sequenze di Cuachy). Se nn ∈ X converge a x

allora nn ∈ X è una sequenza di Cauchy.

Non è assolutamente garantito il contrario, cioè non è detto che una sequenzadi Cauchy converga a x.

Esempio 10.1.1. Si consideri lo spazio vettoriale dei numeri razionali X = Q. Inquesto caso la norma coincide con il valore assoluto del numero, quindi:

∥·∥ = |·|

Si consideri a questo punto la successione definita da:

xn =

(1 +

1

n

)n

xn ∈ Q

Non è difficile dimostrare che la sucessione appena definita è una sequenza diCauchy, infatti:

d(xn, xm) =

∣∣∣∣(1 + 1

n

)n

−(1 +

1

m

)m∣∣∣∣ n,m→+∞−−−−−→ |e− e| = 0

Il fatto è che questa successione non converge ad x = e e quest’ultimo è un numeroirrazionale, che quindi non appartiene allo spazio vettoriale scelto: e ∈ Q. Si

192

Page 211: Appunti del corso di Metodi analitici e numerici...Politecnico di Milano Scuola di Ingegneria Industriale e dell’Informazione Corso di studi in Ingegneria Meccanica Appunti del corso

conclude dicendo che la successione scelta è una sequenza di Cauchy, ma non èuna sequenza di elementi in X = Q

Definizione 10.1.6 (Spazio normato completo). Si dice che X è uno spazionormato completo se ogni sequenza di Cauchy converge a un elemento x ∈ X.

Definizione 10.1.7 (Spazi di Banach). Si definiscono spazi di Banach Lp(Ω)

sull’intervallo Ω ⊆ Rn tutti gli spazi vettoriali che hanno norma:

∥v∥Lp(Ω) =

[ ∫Ω

vpdω

] 1p

1 ≤ p ≤ +∞

Nel caso in cui p = +∞ allora la norma diventa:

∥v∥L∞(Ω) = esssup|f(x)|

si ha quindi che questa norma è essenzialmente superiormente limitata, cioè:

∃ ∥v∥L∞(Ω) < +∞ ⇐⇒ |f(x)| ≤ M < +∞

su tutti i punti x ∈ Ω, fatta eccezione di alcuni punti isolati in cui la funzione puòessere singolare.

Teorema 10.1.2 (Spazi di Banach e spazi normati completi). Uno spazio ènormato completo se e solo se è uno spazio di Banach.

Sulla questione della norma bisogna in genere stare molto attenti: ad esempio,si consideri lo spazio delle funzioni continue C0(Ω). Tale spazio è dotato di unanorma (quindi è normato), ma non è completo se si usa come norma quella diL1(Ω) o quella di L2(Ω), ad esempio la funzione f(x) = 1 presenta una forma in-determinata quando p = +∞. Tuttavia lo spazio C0(Ω) diventa normato completoquando si scegli un’altra tipologia di norma: quella del massimo:

∥f∥C0(Ω) = maxx∈Ω

|f(x)|

193

Page 212: Appunti del corso di Metodi analitici e numerici...Politecnico di Milano Scuola di Ingegneria Industriale e dell’Informazione Corso di studi in Ingegneria Meccanica Appunti del corso

Teorema 10.1.3 (Disuguaglianza di Hölder). La disuguaglianza di Hölder riguar-da la norma del prodotto di due funzioni:∫

Ω

|fg|dω ≤ ∥f∥Lp∥g∥Lq con: 1

p+

1

q= 1 [1 ≤ p, q < +∞)

La disuguaglianza di Hölder fa si che se si vuole fg ∈ L1(Ω) è necessario chele funzioni f e g siano di regolarità superiore. Di solito è molto comune trovarep = q = 1/2:

∥fg∥L1 ≤ ∥f∥L2∥g∥L2

Definizione 10.1.8 (Spazi vettoriali con prodotto scalare). Lo spazio vettorialegenerico X è dotato di un prodotto scalare, se esiste una funzione definita come:

⟨·, ·⟩ : X ×X −→ R

con le seguenti proprietà:

1. semidefinita positiva:

∀x ∈ X ⟨x, x⟩ ≥ 0 ⟨x, x⟩ = 0 ⇐⇒ x = 0

2. commutativa:∀x, y ∈ X ⟨x, y⟩ = ⟨y, x⟩

3. distributiva:

∀x, y, z ∈ X ∀λ, µ ∈ R ⟨x, λy + µz⟩ = λ⟨x, y⟩+ µ⟨x, z⟩

Inoltre il prodotto scalare indice una norma:

∥x∥ =√

⟨x, x⟩

Definizione 10.1.9 (Spazio di Hilbert). Uno spazio vettoriale X è uno spazio diHilbert se è normato e completo rispetto alla norma indotta dal prodotto scalare.

∥x∥H =√

⟨x, x⟩

194

Page 213: Appunti del corso di Metodi analitici e numerici...Politecnico di Milano Scuola di Ingegneria Industriale e dell’Informazione Corso di studi in Ingegneria Meccanica Appunti del corso

Gli spazi di Hilbert son spazi funzionali necessari per i metodi matematiciavanzati. Da notare che non tutti gli spazi vettoriali di Banac (Def. 10.1.7) Lp(Ω)

non sono spazi di Hilbert.

Teorema 10.1.4 (Disuguaglianza di Schwarz). Sia H uno spazio di Hilbert. Datidue vettori appartenenti a tale spazio si ha che il valore assoluto del loro prodottoscalare è sempre minore o uguale del prodotto delle norme die due vettori:

|⟨x, y⟩| = ∥x∥H∥y∥H ∀x, y ∈ H

Teorema 10.1.5 (Teorema di proiezione). Sia H uno spazio di Hilbert e V ⊂ H

su sottospazio chiuso. Allora di ha che:

∀x ∈ H ∃!Pvx ∈ V∣∣ ∥Pvx− x∥H = inf

v∈H∥x− v∥H

Ossia si ha una sola proiezione ortogonale del vettore x ∈ H su V data dal puntoPvx tale da minimizzare la distanza tra x e il generico vettore v ∈ V .

Dal teorema di proiezione si possono fare due osservazioni:

1. Se x vive sullo spazio V allora la proiezione Pvx coincide con il vettore stesso:

x ∈ V ⇐⇒ Pvx = x

2. Vale il teorema di Pitagora generalizzato:

∥x∥ = ∥Pvx∥2 + ∥Qvx∥2

dove Qvx = x− Pvx è il resto che rimane dalla proiezione.

Definizione 10.1.10 (Spazi vettoriali di Sobolev Hk(Ω)). Si definisce spaziovettoriale H1(Ω) di Hilbert:

H1(Ω) =

v ∈ L2(Ω)

∣∣∣∣ ∇v ∈ L2(Ω)

195

Page 214: Appunti del corso di Metodi analitici e numerici...Politecnico di Milano Scuola di Ingegneria Industriale e dell’Informazione Corso di studi in Ingegneria Meccanica Appunti del corso

Cioè lo spazio funzionale in cui tutte le funzioni in esso contenute e le loro derivatesono elementi di L2(Ω). Più in generale si dice che:

Hk(Ω) =

v ∈ L2(Ω)

∣∣∣∣ Dαv ∈ L2(Ω) ∀α∣∣ |α| ≤ k

Questi spazi si chiamano anche spazi vettoriali di Sobolev e si può facilmenteosservare che tutti sono sottospazi di L2.

Definizione 10.1.11 (Norma e seminorma di H1(Ω)). Si definisce seminormadello spazio di Sobolev H1(Ω) la quantità:

|v|H1 =

√∫Ω

|∇v|2dω = ∥∇v∥L2

Mentre si definisce norma dello spazio H1(Ω) la quantità:

∥v∥H1 =

√∥v∥2L2 + |v|2H1

Teorema 10.1.6 (Continuità funzioni di H1(Ω)). Sia Ω ⊂ Rn, con n ≥ 1, undominio avente bordo sufficientemente regolare. Allora si ha che:

Hk(Ω) ⊂ Cm(Ω) se: k ≥ m+n

2

Esempio 10.1.2. Si consideri n = 1 e m = 0. In questo caso si ha che:

Hk(Ω) ⊂ C0(Ω) se: k ≥ 1/2

Quindi si sa per certo che tutte le funzioni in una dimensione contenute nello spaziodi Sobolev H1(Ω) sono continue. Questo non vale se le dimensioni aumentanon ≥ 2 e lo spazio non cambia:

Hk(Ω) ⊂ C0(Ω) se: k >n

2≥ 1

Da questo ne discende che:H1(Ω) ⊂ C0(Ω)

196

Page 215: Appunti del corso di Metodi analitici e numerici...Politecnico di Milano Scuola di Ingegneria Industriale e dell’Informazione Corso di studi in Ingegneria Meccanica Appunti del corso

Teorema 10.1.7 (Disuguaglianza di traccia). Assegnato v ∈ H1(Ω) dove il bordo∂Ω risulta sufficientemente regolare allora esiste un’applicazione lineare:

γ0H1(Ω) −→ L2(Ω)

Tale che:γ0v = v

∣∣∂Ω

e ∥γ0v∥L2 ≤ c∥v∥H1

in cui c è una generica costante di R.

Definizione 10.1.12 (Spazio H10 (Ω)). Analogamente a quanto sempre fatto:

H10 (Ω) =

v ∈ H1(Ω)

∣∣∣∣ γ0v = v∣∣∂Ω

≡ 0

Teorema 10.1.8 (Disuguaglianza di Poincaré). Sia Ω ⊂ Rn. Allora esiste unacostante positiva, dipendente dal dominio, ∃CΩ > 0 tale che:

∥v∥L2 ≤ CΩ|v|H1 ∀ v ∈ H10 (Ω)

Definizione 10.1.13 (Norme equivalenti). Due norme ∥·∥ e |·| si dicono equiva-lenti se esistono due costanti positive c1, c2 ∈ R+ tali che:

c1∥·∥ ≤ |·| ≤ c2∥·∥

Teorema 10.1.9 (Corollario disuguaglianza di Poincaré). La seminorma |v|H1 ela norma ∥v∥H1 sono equivalenti se v ∈ H1

0 (Ω), infatti:

|v|H1 ≤ ∥v∥H1 ≤√1 + C2

Ω|v|H1 ∀ v ∈ H10 (Ω)

Dimostrazione 10.1.1 (Corollario disuguaglianza di Poincaré). Per la definizionedi norma di H1(Ω) (Def. 10.1.11) si ha che:

∥v∥H1 =

√∥v∥2L2 + |v|2H1 ∀ v ∈ H1(Ω)

197

Page 216: Appunti del corso di Metodi analitici e numerici...Politecnico di Milano Scuola di Ingegneria Industriale e dell’Informazione Corso di studi in Ingegneria Meccanica Appunti del corso

Da cui segue che:|v|2H1 ≤ ∥v∥2L2 + |v|2H1 = ∥v∥2H1

Considerando poi la disuguaglianza di Poincaré si ha che:

∥v∥L2 ≤ CΩ|v|H1

Ne segue quindi che:

|v|H1 ≤ ∥v∥2H1 = ∥v∥2L2 + |v|2H1 ≤ (1 + C2Ω)|v|

2H1

Esempio 10.1.3 (Calcolo costante di Poincaré). Si consideri lo spazio, definito suuna sola dimensione, Ω = (a, b) ⊂ R e v ∈ H1

0 (Ω). per determinare il valore dellacostante di Poincaré:

v(x) =

∫ x

a

v′(x)ds ≤∫ x

a

|v′(x)|ds

Applicando la disuguaglianza di Schwarz tra la norma della funzione v′(x) e lafunzione unitaria costante:

v(x) ≤

√∫ x

a

|v′(x)|2ds

√∫ x

a

1ds =√x− a

√∫ x

a

|v′(x)|2ds

Bene adesso che si è maggiorata la funzione si calcola la sua norma su L2(a, b):

∥v∥2L2 =

∫ b

a

v2(x)dx =

∫ b

a

(x− a)

(∫ x

a

|v′(x)|2ds)dx

Per ultimo si applica la disuguaglianza di Poincaré:

∥v∥2L2 ≤∫ b

a

(x− a)dx∥v′(x)∥2H1 =(b− a)2

2∥v′(x)∥2H1

Da quest’ultima equazione è possibile ricavare che:

CΩ =b− a√

2

198

Page 217: Appunti del corso di Metodi analitici e numerici...Politecnico di Milano Scuola di Ingegneria Industriale e dell’Informazione Corso di studi in Ingegneria Meccanica Appunti del corso

10.2 Funzionali e forme

I funzioni e le forme sono degli elementi essenziali per riscrivere i problemi diffe-renziali in forma debole. Di fatto essi rappresentano una sorta di generalizzazionedelle classiche funzioni.

Definizione 10.2.1 (Funzionale). Un funzionale è un operatore che lavora da unospazio di Hilbert H a un codominio reale.

F : H −→ R

I funzionali possono avere o non avere alcune proprietà, a seconda di come sonodefiniti. In particolare, possono essere:

• Lineari:F (u+ λv) = F (u) + λF (v) ∀u, v ∈ H, λ ∈ R

• Limitati:∃ c > 0

∣∣ |F (v)| < c∥v∥H ∀ v ∈ H

• Continui:

∃ c > 0∣∣ |F (v)− F (w)| ≤ c∥v − w∥H ∀ v, w ∈ H

Teorema 10.2.1 (Continuità e limitatezza di funzionali). Se un funzionale èlimitato, allora è anche continuo e viceversa.

Definizione 10.2.2 (Spazio duale). Dato uno spazio di Hilbert H, si definiscespazio duale H∗ di H l’insieme di tutti i funzionali di H lineari e limitati.

F : H −→ R

Inoltre, si definisce anche la norma dello spazio duale come:

∥F∥H∗ = supv∈Hv =0

|F (v)|∥v∥H

199

Page 218: Appunti del corso di Metodi analitici e numerici...Politecnico di Milano Scuola di Ingegneria Industriale e dell’Informazione Corso di studi in Ingegneria Meccanica Appunti del corso

Teorema 10.2.2 (Teorema di rappresentazione di Riesz). Sia H uno spazio diHilbert, allora ∀F ∈ H∗:

∃! f ∈ H∣∣ F (v) = ⟨f, v⟩H ∀ v ∈ H

=⇒ F (v) =

∫Ω

fvdω

Definizione 10.2.3 (Forma). Una forma è un’applicazione tale che:

a : H ×H −→ R

Anche le forme, come i funzionali, possono avere o non avere alcune importantiproprietà; tra esse si riportano:

• Bilinearità:a(u, λv + µz) = λa(u, v) + µa(u, z)

a(λu+ µz, v) = λa(u, v) + µa(z, v)∀u, v, z ∈ H, ∀λ, µ ∈ R

• Simmetria:a(u, v) = a(v, u) ∀u, v ∈ H

• Continuità:

∃M > 0∣∣ |a(u, v)| ≤ M∥u∥H∥v∥H ∀ v, w ∈ H

• Coercività:∃α > 0

∣∣ a(u, u) ≥ α∥u∥H ∀u ∈ H

200

Page 219: Appunti del corso di Metodi analitici e numerici...Politecnico di Milano Scuola di Ingegneria Industriale e dell’Informazione Corso di studi in Ingegneria Meccanica Appunti del corso

Capitolo 11

Problemi variazionali astratti

Come già accennato all’interno della Sez. 9 a pagina 186 molti dei problemi dif-ferenziali più complessi non ammettono una soluzione classica, ma potrebberoammetterne una in forma debole.

Teorema 11.0.1 (Lemma di Lax-Milgram). Un problema in forma debole puòessere riscritto come ricerca di una funzione u ∈ V tale che:

a(u, v) = F (v) ∀ v ∈ V

in cui V è uno spazio vettoriale di Hilbert.

Teorema 11.0.2 (Teorema di Lax-Milgram). Dato V uno spazio vettoriale diHilbert, una forma a(u, v) e un funzionale F (v), definiti in quello spazio, chedescrivono il problema differenziale, se si ha che:

1. la forma a(u, v) è bilineare, continua e coerciva;

2. il funzionale F (v) è lineare e continuo;

allora esiste una sola soluzione al problema posto in forma debole u e inoltre:

∥u∥V ≤ 1

α∥F∥V ∗

dove α è la costante di coercività.

201

Page 220: Appunti del corso di Metodi analitici e numerici...Politecnico di Milano Scuola di Ingegneria Industriale e dell’Informazione Corso di studi in Ingegneria Meccanica Appunti del corso

Dimostrazione 11.0.1 (Norma della soluzione). Andando a maggiorare il fun-zionale, tramite la definizione della norma dello spazio duale (Def. 10.2.2), eminorando la forma bilineare tramite la proprietà di coercività (Def. 10.2.3), siottiene:

α∥u∥2V ≤ a(u, u) = F (u) ≤ ∥F∥V ∗∥u∥V

Analizzando il primo e l’ultimo termine si ottiene:

α∥u∥2V ≤ ∥F∥V ∗∥u∥V

∥u∥V ≤ 1

α∥F∥V ∗

Teorema 11.0.3 (Soluzione come minimo dell’energia). La soluzione a un pro-blema variazionale astratto per la ricerca della funzione u ∈ V è equivalente ad unproblema di minimo della funzione J(v) che descrive l’energia del problema:

J(v) =1

2

∫ L

0

µ0(v′)2dx−

∫ L

0

fvdx

u∣∣ J(v)

∣∣v=u

= minv∈V

J(v)

Dimostrazione 11.0.2 (Soluzione è minimo dell’energia). Sia δ una genericafunzione incremento. Valutando il funzionale J(v) in corrispondenza di v = u+ δ

si ha che:

J(u+ δ) =1

2

∫ L

0

µ0

((u+ δ)′

)2dx−

∫ L

0

f(u+ δ)dx

=1

2

∫ L

0

µ0

((u′)2 + 2u′δ′ + (δ′)2

)dx−

∫ L

0

fudx−∫ L

0

fδdx

= J(u) +1

2µ0

∫ L

0

(δ′)2dx+

[µ0

∫ L

0

u′δ′dx−∫ L

0

fδdx

]Dato che per ipotesi la funzione u è soluzione al problema variazionale astratto,allora:

µ0

∫ L

0

u′v′dx−∫ L

0

fvdx = 0 ∀ v ∈ V = H10 (0, L)

Tra tutte le funzioni possibili si sceglie la funzione v = δ. In tal modo il valore del

202

Page 221: Appunti del corso di Metodi analitici e numerici...Politecnico di Milano Scuola di Ingegneria Industriale e dell’Informazione Corso di studi in Ingegneria Meccanica Appunti del corso

funzionale in v = u+ δ è pari a:

J(u+ δ) = J(u) +1

2µ0

∫ L

0

(δ′)2dx ≥ J(u)

Questo perché il termine della parentesi quadra è pari a zero, essendo soluzione.

Dimostrazione 11.0.3 (Minimo dell’energia è soluzione). Assegnati δ ∈ R, w ∈V generici, si valuta il funzionale dell’energia in corrispondenza di v = u + δw.Dalla prima dimostrazione si ha che:

J(u+ δw) = J(u) +1

2µ0

∫ L

0

δ2(w′)2dx+

[µ0

∫ L

0

δu′w′dx−∫ L

0

δfwdx

]Derivando rispetto a δ si ottiene:

∂J

∂δ(u+ δw) =

∂J

∂δ(u) +

∂δ

[µ0

2

∫ L

0

δ2(w′)2dx

]+

∂δ

[µ0

∫ L

0

δu′w′dx−∫ L

0

δfwdx

]=

∫ L

0

µ0w′u′dx+ 2

∫ L

0

δw′dx−∫ L

0

fwdx

Dato che si sa per certo che la funzione u è il minimo dell’energia si può scrivere:

∂J

∂δ(u+ δw) = 0 ∀w ∈ V

e quest’ultima condizioni è verificata solamente se δ = 0. A questo punto si ottiene:

µ0

∫ L

0

u′w′dx−∫ L

0

fwdx = 0 ∀w ∈ V

Quindi per forza di cose la funzione u è soluzione del problema variazionale astrat-to.

11.1 Problemi di Poisson

I più semplici problemi differenziali da trattare in forma debole sono quelli diPoisson. Anche in questo caso si classificano i problemi in funzione delle condizionial contorno che vengono imposte.

203

Page 222: Appunti del corso di Metodi analitici e numerici...Politecnico di Milano Scuola di Ingegneria Industriale e dell’Informazione Corso di studi in Ingegneria Meccanica Appunti del corso

11.1.1 Problema di Poisson-Dirichlet

Condizioni al contorno omogenee

Si consideri un problema di Poisson-Dirichlet avente condizioni omogenee, del tipo:−µ0u′′(x) = f(x)

u(0) = u(L) = 0x ∈ (0, L) µ0 ∈ R+

L’obiettivo che ci si pone è quello di riscrivere il problema in forma debole. Perprima cosa occorre riarrangiare l’equazione differenziale: si moltiplica da ambo leparti per una funzione generica v, chiamata funzione test, e poi si integra su tuttoil dominio spaziale.

−∫ L

0

µ0u′′vdx =

∫ L

0

fvdx ∀ v ∈ V (11.1)

Ora è necessario scegliere lo spazio vettoriale V in cui ambientare il problemadifferenziale. In questo caso le condizioni al contorno sono entrambe omogenee equindi la soluzione al problema sarà vincolata a presentare degli zeri agli estremidel dominio. Proprio per questo motivo si sceglie lo spazio H1

0 (0, L). In tal modosi ha che:

V = H10 (0, L) =⇒ v

∣∣ v(0) = v(L) = 0

Riprendendo l’Eq. (11.1) e integrando per parti il temine a sinistra per parti siottiene:

−(µ0u′v)

∣∣∣∣L0

+

∫ L

0

µ0u′v′dx =

∫ L

0

fvdx ∀ v ∈ V

Avendo scelto V = H10 (0, L) il primo termine è sempre nullo, poiché la ogni funzione

v si annulla in corrispondenza degli estremi del dominio. In tal modo si ottienedunque: ∫ L

0

µ0u′v′dx =

∫ L

0

fvdx

Per la disuguaglianza di Hölder (Teo. 10.1.3), entrambi gli integrali sono definitise:

u, u′, v, v′ ∈ L2(0, L)

204

Page 223: Appunti del corso di Metodi analitici e numerici...Politecnico di Milano Scuola di Ingegneria Industriale e dell’Informazione Corso di studi in Ingegneria Meccanica Appunti del corso

cosa che va benissimo, poiché si è appena scelto lo spazio H10 (0, L) per queste

funzioni. Il problema variazionale astratto (o problema in forma debole) risultacosì definito:

u ∈ V∣∣ ∫ L

0

µ0u′v′dx︸ ︷︷ ︸

a(u,v)

=

∫ L

0

fvdx︸ ︷︷ ︸F (v)

∀ v ∈ V con V = H10 (0, L)

A questo punto è necessario vedere se tutte le ipotesi del teorema di Lax-Milgram (Teo. 11.0.2) sono rispettate e quindi se esiste una sola soluzione u ∈ V .Per prima cosa si analizza la forma:

a(u, v) =

∫ L

0

µ0u′v′dx

Si evince immediatamente che è lineare sia in u che in v,e quindi bilineare, poichéle operazioni di derivazione e integrazione sono entrambe lineari. La forma è anchecontinua, poiché per la disuguaglianza di Schwarz:

|a(u, v)| ≤∫ L

0

|µou′v′|dx ≤ µ0∥u′∥L2∥v′∥L2

Questa non è ancora la definizione di forma continua per che le norme sono en-trambe calcolate sullo spazio L2, che non è lo spazio V scelto. Tuttavia, proprioper come stata definita la norma su H1 si ha che:

∥u∥H1 =

√∥u∥2L2 + ∥u′∥2L2 ≥ ∥u′∥L2

Lo stesso passaggio può essere riproposto per la funzione v. Risulta quindi che:

|a(u, v)| ≤ µ0∥u∥H1∥v∥H1

La costante M > 0 necessaria alla definizione della continuità della forma è inquesto caso pari proprio a µ0. Infine è necessario dimostrare che la forma a ècoerciva:

a(v, v) =

∫ L

0

µ0(v′)2dx = µ0∥v′∥2L2 (11.2)

205

Page 224: Appunti del corso di Metodi analitici e numerici...Politecnico di Milano Scuola di Ingegneria Industriale e dell’Informazione Corso di studi in Ingegneria Meccanica Appunti del corso

Dato che lo spazio scelto è V = H10 allora è possibile utilizzare la disuguaglianza

di Poincaré (Teo. 10.1.9). Per questo motivo è lecito scrivere:

∥v∥L2 < CΩ∥v′∥L2

∥v∥2H1 = ∥v∥2L2 + ∥v′∥2L2 ≤ (1 + C2Ω)∥v′∥

2L2

Ricavando la norma della funzione v′ su L2 e sostituendola nell’Eq. (11.2) si ottienel’espressione:

a(v, v) ≥ µ0

1 + C2Ω

∥v∥2H1

che dimostra che la forma a è coerciva.A questo punto si analizza il funzionale F : anche in questo caso la proprietà

di linearità è presto dimostrata, visto che gli operatori differenziali sono entrambilineari; inoltre è anche continuo poiché:

|F (v)| =∫ L

0

|fv|dx = ∥fv∥L2 ≤ ∥f∥L2∥v∥L2

In particolare nell’ultimo passaggio è stata utilizzata la disuguaglianza di Schwarz.Per il teorema di Lax-Milgram (Teo. 11.0.2) esiste una sola soluzione u ∈ V alproblema variazionale astratto e si ha che:

∥u∥V ≤ c

α=

(1 + C2Ω)∥f∥L2

µ0

Condizioni al contorno non omogenee

Si consideri il problema differenziale di Poisson-Dirichlet con condizioni al bordonon omogenee del tipo:−µ0u

′′(x) = f(x)

u(0) = g1 u(L) = g2x ∈ (0, L) µ0 ∈ R+

L’obiettivo è quello di ricondursi ad un caso omogeneo per poi applicare ilmetodo appena analizzato, esattamente come visto per la formulazione forte diproblemi differenziali. Si sceglie quindi una funzione di rilevamento del dato al

206

Page 225: Appunti del corso di Metodi analitici e numerici...Politecnico di Milano Scuola di Ingegneria Industriale e dell’Informazione Corso di studi in Ingegneria Meccanica Appunti del corso

bordo Rg, tale per cui:

Rg ∈ H1(0, L)∣∣ Rg(0) = g1 e Rg(L) = g2

Per semplicità si sceglie una retta passante per g1 e g2:

Rg(x) = g1 +x

L(g2 − g1)

A questo punto si può riscrivere la funzione soluzione come somma della funzioneRg e della funzione u, ancora incognita:

u(x) = Rg(x) + u(x) con: u(x) ∈ H10 (0, L)

Il problema, riscritto in forma debole diventa:

−µ0

∫ L

0

(u+Rg)′′vdx =

∫ L

0

fvdx ∀ v ∈ V = H10 (0, L)

Integrando il termine a sinistra dell’equazione per parti si ottiene:

µ0

∫ L

0

(u+Rg)′v′dx− µ0

[u′(x)v′(x)

]L0=

∫ L

0

fvdx

Ancora una volta il secondo termine dell’integrazione per parti si annulla, essendola funzione test v sempre nulla al bordo. Riscrivendo i termini rimanenti si ha che:

µ0

∫ L

0

u′v′dx︸ ︷︷ ︸a(u,v)

=

∫ L

0

(fv − µ0R′gv

′)dx︸ ︷︷ ︸F (v)

Quest’ultima equazione descrive il problema variazionale astratto, equivalente aquello analizzato precedentemente, relativo alle condizioni omogenee.

u ∈ H10 (0, L)

∣∣ a(u, v) = F (v) ∀ v ∈ H10 (0, L)

Come si evince facilmente la forma bilineare non è cambiata, quindi sarà semprecontinua e coerciva. Il problema è capire se il funzionale F (v), in cui sono rientrate

207

Page 226: Appunti del corso di Metodi analitici e numerici...Politecnico di Milano Scuola di Ingegneria Industriale e dell’Informazione Corso di studi in Ingegneria Meccanica Appunti del corso

anche le condizioni al contorno risulta ancora lineare e continuo.Sulla prima richiesta non ci sono problemi, le operazioni di derivazione, som-

ma algebrica e integrazione sono lineari, quindi la combinazione di queste tre èanch’essa lineare. Rimane dunque dimostrare la continuità:

|F (v)| ≤∫ L

0

|fv|dx+

∫ L

0

µ0

∣∣R′gv

′∣∣dx= ∥fv∥L1 + µ0

∥∥R′gv

′∥∥L1

≤ ∥f∥L2∥v∥L2 + µ0

∥∥R′g

∥∥L2∥v′∥L2

≤ ∥f∥L2∥v∥H1 + µ0

∥∥R′g

∥∥L2∥v∥H1

=(∥f∥L2 + µ0

∥∥R′g

∥∥L2

)∥v∥H1

In questo caso si ha che la costante di continuità è pari a:

c = ∥f∥L2 + µ0

∥∥R′g

∥∥L2

Quindi per il teorema di Lax-Milgram (Teo. 11.0.2) esiste una sola soluzione u ∈ V

al problema variazionale astratto. Naturalmente una volta risolto il problema in u,si deve sommare la soluzione di rilevamento Rg per trovare la soluzione al problemaprincipale.

11.1.2 Problema di Poisson-Neumann

Si analizza ora il problema di Poisson con condizioni al contorno di Neumann. Alfine di mantenere un certo grado di generalità si impongono delle condizioni nonper forza omogenee. Il problema differenziale risulta quindi essere:µ0u

′′(x) = f(x)

µ0u′(0) = h1 µ0u

′(L) = h2

x ∈ (0, L) µ0 ∈ R+

Al solito, si moltiplica per la funzione test v e si integra sul dominio spaziale:

−µ0

∫ L

0

u′′vdx =

∫ L

0

fvdx ∀ v ∈ V

208

Page 227: Appunti del corso di Metodi analitici e numerici...Politecnico di Milano Scuola di Ingegneria Industriale e dell’Informazione Corso di studi in Ingegneria Meccanica Appunti del corso

Integrando il primo termine per parti si ha che:

−µ0u′(x)v(x)

∣∣∣∣L0

+ µ0

∫ L

0

u′v′dx =

∫ L

0

fvdx

Questa volta i termini valutati non spariscono, poiché non è stata fatta ancora nes-suna ipotesi sullo spazio funzionale del problema V , ne sulla forma della funzionetest v. Non c’è altra scelta che valutare i termini in corrispondenza del bordo:

−µ0u′(L)︸ ︷︷ ︸h2

v(L) + µ0u′(0)︸ ︷︷ ︸

h2

v(0) + µ0

∫ L

0

u′v′dx =

∫ L

0

fvdx

Come evidenziato nell’equazione si possono sostituire i termini con le condizionial contorno di Neumann. In questo modo si ha che:

µ0

∫ L

0

u′v′dx︸ ︷︷ ︸a(u,v)

=

∫ L

0

fvdx+ h2v(L)− h1v(0)︸ ︷︷ ︸F (v)

Non a caso le condizioni al contorno sono finite nel funzionale F (v). Questo succedesempre se le condizioni al contorno non sono quelle di Dirichlet omogenee.

Dato che le condizioni al bordo di Neumann, Robin, miste e Dirichlet nonomogenee sono talmente importanti che finiscono all’interno della formulazionedebole, sono anche dette condizioni naturali, mentre quelle di Dirichlet omogeneesono chiamate condizioni essenziali, perché la loro presenza ha effetto solo sullascelta dello spazio funzionale adeguato, ma non rientrano nel problema principale.

Manca comunque da definire un spazio funzionale in cui ambientare il problemae da verificare che tutte le ipotesi di Lax-Milgram siano ancora verificate. Comesi nota dalla condizioni al contorno, non per forza la soluzione u deve annullarsiin corrispondenza degli estremi e quindi non è più possibile scegliere lo spazio H1

0 .Nonostante questa complicazione, rimane più che lecito scegliere lo spazio H1. Conquesto tipo di scelta il problema variazionale diventa:

u ∈ V = H1(0, L)∣∣ a(u, v) = F (v) ∀ v ∈ V

209

Page 228: Appunti del corso di Metodi analitici e numerici...Politecnico di Milano Scuola di Ingegneria Industriale e dell’Informazione Corso di studi in Ingegneria Meccanica Appunti del corso

Si passa ora alla verifica delle ipotesi di Lax-Milgram. La forma è sempre la stessa,quindi non ci sono problemi. Il funzionale invece è cambiato, quindi va rivisto. Lalinearità è al solito garantita, mentre la continuità va verificata:

|F (v)| ≤∫ L

0

|fv|dx+ |h2||v(l)|+ |h1||v(0)|

A questo punto, il primo termine può essere riscritto utilizzando la disuguaglianzadi Schwarz, mentre per quel che riguarda gli altri due è possibile utilizzare ladisuguaglianza di traccia (Teo. 10.1.7 a pagina 196). Infatti:

v ∈ H1(0, L) =⇒ ∃ c > 0∣∣ ∥γ0v∥L2(∂Ω) ≤ c∥v∥H1

e in questo caso questo implica:

|v(L)| ≤ c1∥v∥H1 |v(0)| ≤ c2∥v∥H1

Da cui segue che:

|F (v)| ≤∫ L

0

|fv|dx+ |h2||v(l)|+ |h1||v(0)|

≤ ∥f∥L2∥v∥L2 + c1|h1|∥v∥H1 + c2|h2|∥v∥H1

≤ ∥f∥L2∥v∥H1 + c1|h1|∥v∥H1 + c2|h2|∥v∥H1

=(∥f∥L2 + c1|h1|+ c2|h2|

)∥v∥H1

= C∥v∥H1

Anche in questo caso tutte le ipotesi sono rispettate, quindi esiste solo una solu-zione al problema in forma debole.

210

Page 229: Appunti del corso di Metodi analitici e numerici...Politecnico di Milano Scuola di Ingegneria Industriale e dell’Informazione Corso di studi in Ingegneria Meccanica Appunti del corso

Capitolo 12

Metodo di Galërkin eapprossimazione ad elementi finiti

Il metodo di Galërkin è un metodo numerico che permette di trovare la soluzionedi un problema differenziale posto in forma debole, del tipo:

u ∈ V∣∣ a(u, v) = F (v) ∀ v ∈ V

dove V è uno spazio funzionale di Hilbert di dimensioni infinite.Da esso si sviluppa poi tutta la teoria degli elementi finiti, che rappresenta lo

strumento base per risolvere le equazioni differenziali.

12.1 Metodo di Galërkin

Si consideri dunque un problema variazionale astratto, ambientato in uno spazioV generico:

u ∈ V∣∣ a(u, v) = F (v) ∀ v ∈ V

Come già accennato lo spazio V è uno spazio vettoriale di dimensioni infinte,avente come base ηjj∈N∗ . Questo implica che ogni elemento appartenente allospazio vettoriale può essere riscritto come combinazione lineare degli elementi della

211

Page 230: Appunti del corso di Metodi analitici e numerici...Politecnico di Milano Scuola di Ingegneria Industriale e dell’Informazione Corso di studi in Ingegneria Meccanica Appunti del corso

base:

w ∈ V ⇐⇒ w =+∞∑j=1

wjηj con:wj

+∞i=1

∈ R

Si consideri ora Vh, cioè una famiglia si spazi dipendenti da un solo parametroh > 0. Inoltre ognuno di questi spazi è un sottospazio di V di dimensione finita:

Vh ⊂ V dim(Vh) = Hh < +∞

A questo punto si può costruire una sequenza di spazi, ognuno avente dimensionesuperiore a tutti quelli precedenti e dimensione inferiore a quelli successivi:

Vh1 ⊂ Vh2 ⊂ · · · ⊂ VhNh⊂ V

dove ovviamente h1 < h2 < · · · < hNh. Inoltre, proprio per come è definita la

sequenza si ha che:limh→0

Nh = +∞ limh→0

Vh = V

Tutti i sottospazi sono sottospazi vettoriali, quindi ogni elemento ad essi appar-tenente può ancora essere scritto come combinazione lineare degli elementi dellabase:

vh ∈ Vh ⇐⇒ vh =

Nh∑j=1

vjφj

in cui le φj sono le funzioni di base, mentre i pesi vj sono coefficienti reali dettivariabili di controllo.

Definizione 12.1.1 (Metodo di Galërkin). Si chiama metodo di Galërkin unqualsiasi metodo atto a ricercare una funzione uh ∈ Vh tale che:

a(uh, vh) = F (vh) ∀ vh ∈ Vh

in cui lo spazio vettoriale Vh ⊂ V ha dimensioni finite e la soluzione può esserescritta come:

uh =

Nh∑j=1

ujφj

Quindi non esiste un solo metodo di Galërkin, ma ne esistono infiniti: in parti-

212

Page 231: Appunti del corso di Metodi analitici e numerici...Politecnico di Milano Scuola di Ingegneria Industriale e dell’Informazione Corso di studi in Ingegneria Meccanica Appunti del corso

colare, in funzione della scelta della base φjNhj=1 di Vh si avrà lo specifico metodo

di Galërkin, in cui le incognite saranno ujNhj=1. Il problema variazionale astratto

può essere riscritto come:

a(uh, vh) = F (vh) ∀ vh ∈ Vh

A questo punto si utilizza un trucco: la precedente equazione, che descrive ilproblema, deve valere per una qualsiasi funzione vh. Allora è più che lecito scegliereproprio una funzione vh = φi, dove φi è una delle Nh funzioni base dello spaziovettoriale Vh. Il problema diventa quindi:

a(uh, φi) = F (φi) i = 1, 2, . . . , Nh

Inoltre si può anche sostituire l’incognita uh come combinazione lineare di tutte lefunzioni base, pesate per i coefficienti uj:

a

( Nh∑j=1

ujφj, φi

)= F (φi) i = 1, 2, . . . , Nh

A questo punto si sfrutta la proprietà di bilinearità della forma a(·, ·); in tal casoil problema può essere riscritto come:

Nh∑j=1

a(φj, φi)︸ ︷︷ ︸[A]ij

uj = F (φi)︸ ︷︷ ︸fi

i = 1, 2, . . . , Nh

Questa nuova equazione corrisponde a un sistema lineare. Nello specifico, la formavalutata in corrispondenza delle funzioni base corrisponde all’elemento i, j-esimodella matrice A ∈ RNh × RNh (da notare che gli indici risultano invertiti, pervia del prodotto matrice-vettore!), la valutazione del funzionale corrisponde all’i-esima componente del vettore dei termini noti e infine gli elementi uj possonoessere inseriti nel vettore delle incognite. Sintetizzando tutto questo si ottiene:

Au = f

213

Page 232: Appunti del corso di Metodi analitici e numerici...Politecnico di Milano Scuola di Ingegneria Industriale e dell’Informazione Corso di studi in Ingegneria Meccanica Appunti del corso

In poche parole, si è appena dato prova che uh ∈ Vh ⊂ V è soluzione del problemavariazionale astratto se e solo se e soluzione del problema di Galërkin.

Le proprietà della matrice A, chiamata matrice di rigidezza o matrice di stiff-ness, dipendono dalla forma a(·, ·) associata e dalla base che viene adottata perrisolvere il problema.

Teorema 12.1.1 (Matrici di rigidezza associate a forme coercive). Se la formaa(·, ·) : V ×V −→ R, associata a un problema ellittico, è coerciva allora la matricedi rigidezza A è definita positiva.

Dimostrazione 12.1.1 (Matrici di rigidezza associate a forme coercive). Affinchéuna matrice sia definita positiva, è necessario che la quantità vTAv sia semprepositivo. Riscrivendo il prodotto si ottiene:

vTAv =

Nh∑i,j=1

vi[A]ijvj =

Nh∑i,j=1

via(φj, φi)vj

Sfruttando la proprietà di bilinearità si ottiene:

vTAv = a

( Nh∑j=1

vjφj,

Nh∑i=1

viφi

)= a(vh, vh)

Ora, ammesso che la forma sia coerciva, si ottiene:

vTAv = a(vh, vh) ≥ α∥vh∥Vh> 0

Teorema 12.1.2 (Matrici di rigidezza associate a forme simmetriche). Se la formaa(·, ·) : V × V −→ R, associata a un problema ellittico, è simmetrica allora lamatrice di rigidezza A è simmetrica.

12.1.1 Analisi metodo di Galërkin

Anche per il metodo di Galërkin, come per tutti gli altri metodi numerici, vannofatte delle riflessioni in merito all’esistenza, unicità e stabilità della soluzione.

214

Page 233: Appunti del corso di Metodi analitici e numerici...Politecnico di Milano Scuola di Ingegneria Industriale e dell’Informazione Corso di studi in Ingegneria Meccanica Appunti del corso

Esistenza e unicità

Teorema 12.1.3 (Esistenza e unità della soluzione al metodo di Galërkin). Seesiste una sola soluzione u ∈ V al problema variazionale astratto, allora anche peril metodo di Galërkin esiste una sola soluzione.

Dimostrazione 12.1.2 (Esistenza e unità della soluzione al metodo di Galërkin).Supponiamo che esista una sola soluzione al problema variazionale astratto; orabisogna verificare che tutte le ipotesi del teorema di Lax-Milgram (Teo. 11.0.2 apagina 201) siano soddisfatte anche per il metodo di Galërkin.

• lo spazio Vh ⊂ V , quindi per forza è uno spazio di Hilbert (essendo unsottospazio di uno spazio di Hilbert).

• la forma a(·, ·) e il funzionale F (·), sono le medesime del problema varia-zionale, pertanto sono entrambe lineari e continue, mentre la forma è anchecoerciva.

Stabilità

Teorema 12.1.4 (Stabilità del problema di Galërkin). Il problema di Galërkin èstabile uniformemente rispetto ad h, nel senso che:

∥uh∥Vh≤ 1

α∥F∥V ∗

h

Dimostrazione 12.1.3 (Stabilità del problema di Galërkin). Si consideri il pro-blema di Galërkin:

a(uh, vh) = F (vh) ∀vh ∈ Vh

Dato che la forma è coerciva, si ha che:

α∥uh∥2Vh≤ a(uh, vh) = F (vh) ≤ ∥F∥V ∗

h∥uh∥Vh

Da cui segue che:∥uh∥Vh

≤ 1

α∥F∥V ∗

h

Da notare che è la stessa dimostrazione proposta per l’ultimo punto del teoremadi Lax-Milgram.

215

Page 234: Appunti del corso di Metodi analitici e numerici...Politecnico di Milano Scuola di Ingegneria Industriale e dell’Informazione Corso di studi in Ingegneria Meccanica Appunti del corso

Convergenza

Si supponga che uh ∈ Vh tenda a u ∈ V per h → 0, ossia se Nh → +∞.

Teorema 12.1.5 (Ortogonalità del metodo di Galërkin). La soluzione uh ∈ Vh,soluzione del problema di Galërkin, soddisfa la relazione:

a(u− uh, vh) = 0 ∀ vh ∈ Vh

Il nome del teorema richiama l’ortogonalità della soluzione, ma nella soluzionenon c’è, almeno a prima vista nulla che riguardi questo concetto. Si consideri peròla dimostrazione del Teo. 12.1.1: con passaggi assolutamente identici si potrebbedire che:

a(u− uh, vh) =(u− uh

)TAvh = 0

Quindi l’errore u− uh relativo alla soluzione e sempre A-ortogonale alla soluzionetrovata.

Dimostrazione 12.1.4 (Ortogonalità del metodo di Galërkin). Se le funzioniu e uh sono rispettivamente le soluzioni del problema variazionale stratto e delproblema di Galërkin, allora valgono le seguenti relazioni:

u ∈ V∣∣ a(u, v) = F (v) ∀ v ∈ V

uh ∈ Vh

∣∣ a(uh, vh) = F (vh) ∀ vh ∈ Vh

Dato che la prima equazione è più generale, per via del fatto che Vh ⊂ V , si puòscegliere una particolare funzione test v = vh ∈ Vh. Il tutto può essere riscritto nelsistema: a(u, vh) = F (vh)

a(uh, vh) = F (vh)∀ vh ∈ Vh

Sottraendo le due equazioni membro a membro si ha che:

a(u, vh)− a(uh, vh) = F (vh)− F (vh) = 0 ∀ vh ∈ Vh

Da cui ne segue che:a(u− uh, vh) = 0 ∀ vh ∈ Vh

216

Page 235: Appunti del corso di Metodi analitici e numerici...Politecnico di Milano Scuola di Ingegneria Industriale e dell’Informazione Corso di studi in Ingegneria Meccanica Appunti del corso

Inoltre, è bene sottolineare che se la forma a(·, ·) è simmetrica, allora è possibileintrodurre la norma dell’energia come:

∥u∥a =√a(u, u)

Quindi nel caso in cui il dominio della forma sia V × V = R2, si può osservareche il Teo. 12.1.4, scritto attraverso la norma dell’energia, implichi che il prodottoscalare fra la differenza u − uh e una qualsiasi funzione test vh ∈ Vh sia semprenullo.

Infatti, la soluzione al metodi di Galërkin uh non è altro che la proiezione dellasoluzione u sul sottopsazio Vh ⊂ V (ortogonale nel senso della prodotto scalareindotto dalla forma); quindi la soluzione al problema di Galërkin è certamentela migliore approssimazione della soluzione u del problema in forma debole, unavolta scelto lo spazio Vh. Questo concetto può essere riassunto dalla proprietà dellaconsistenza forte:

u ∈ Vh =⇒ uh ≡ u

Teorema 12.1.6 (Lemma di Céa). Sia u la soluzione al problema variazionale euh la soluzione al problema di Galërkin. Si ha che:

∥u− uh∥V ≤ M

αinf

vh∈Vh

∥u− vh∥V

In cui le costanti M e α sono le costanti di continuità e coercività della forma.

Dimostrazione 12.1.5 (Lemma di Céa). Si consideri la quantità:

a(u− uh, u− uh) = a(u− uh, u− vh + vh − uh)

Per via della bilinearità della forma si può riscrivere come:

a(u− uh, u− uh) = a(u− uh, u− vh) + a(u− uh, vh − uh) = a(u− uh, u− vh)

Il secondo termine perché è sempre nullo, essendo la funzione vh − uh ∈ Vh eapplicando l’ortogonalità del metodo di Galërkin (Teo. 12.1.4). Inoltre, essendo la

217

Page 236: Appunti del corso di Metodi analitici e numerici...Politecnico di Milano Scuola di Ingegneria Industriale e dell’Informazione Corso di studi in Ingegneria Meccanica Appunti del corso

forma continua e coerciva, si ha che:

α∥u− uh∥2V ≤ a(u− uh, u− uh) = a(u− uh, u− vh) ≤ M∥u− vh∥V ∥u− uh∥V

Considerando solo il primo e l’ultimo termine si ha che:

α∥u− uh∥V ≤ M∥u− vh∥V ∀ vh ∈ Vh

Se questa disequazione deve valere sempre, allora:

∥u− uh∥V ≤ M

αinf

vh∈Vh

∥u− vh∥V

Questo teorema ha una grande importanza perché è la base per dimostrare laconvergenza del metodo. Infatti, per via di come sono costruiti gli spazi Vh:

Per h → 0 =⇒ Vh → V

=⇒ limh→0

(inf

wh∈Vh

∥v − wh∥V)

= 0 ∀ v ∈ V

L’ultimo limite viene anche chiamato densità di Vh in V e implica la convergenzadel metodo di Galërkin:

limh→0

∥u− uh∥V = 0

Naturalmente, se il rapporto M/α ≫ 1 si ha che l’errore del metodo può esseregrande, nonostante la convergenza assicurata.

12.2 Metodo degli elementi finiti monodimensio-nale

Nel paragrafo precedente si è dimostrato che se esiste una sola soluzione al pro-blemi in forma debole allora esiste una sola soluzione al problema di Galërkin. Siconsideri ora un insieme monodimensionale Ω = (a, b), sui cui è definito il proble-ma differenziale. La soluzione u sarà definita sull’insieme V ⊆ H1(Ω), quindi lasoluzione di Galërkin su Vh ⊂ V . Il metodo degli elementi finiti consiste in una

218

Page 237: Appunti del corso di Metodi analitici e numerici...Politecnico di Milano Scuola di Ingegneria Industriale e dell’Informazione Corso di studi in Ingegneria Meccanica Appunti del corso

scelta particolare dello spazio Vh.Per prima cosa si partiziona l’insieme Ω in N + 1 sottointervalli, chiamati

elementi di griglia:

Kj = (xj−1, xj) j = 1, 2, . . . , N + 1

Gli estremi degli elementi di griglia sono detti invece nodi:

a = x0, x1, x2, . . . , xN , xN+1 = b

Non è detto che tutti questi nodi siano equispaziati. Nel caso non lo fossero ilparametro h è pari al massimo di tutte le distanze fra nodi consecutivi:

h = maxj=1,...,N+1

hj hj = xj − xj−1

Definizione 12.2.1 (Spazio elementi finiti). Si chiama spazio degli elementi finitidi grado r ≥ 1 lo spazio funzionale:

Xrh(Ω) =

vh ∈ C0(Ω)

∣∣∣∣ vh∣∣Kj

∈ Pr ∀Kj ∈ τh

in cui τh è la partizione del dominio Ω, mentre Pr l’insieme di tutti i polinomialgebrici di grado inferiore o uguale a r.

Dato che in generale è utile non complicarsi troppo la vita, si usano essenzial-mente due diverse tipologie di elementi finiti: lineari e quadratici.

Il passo successivo è quello di costruire le basi φjNhj=0 dello spazio a elementi

finiti lineare X1h(Ω) e quadratico X2

h(Ω).

12.2.1 Elementi finiti lineari

Lo spazio degli elementi finiti lineare è formato da alcune delle funzioni più sem-plici: le rette. In particolare, lo spazio è definito come:

X1h(Ω) =

vh ∈ C0(Ω)

∣∣∣∣ vh∣∣Kj

∈ P1 ∀Kj ∈ τh

219

Page 238: Appunti del corso di Metodi analitici e numerici...Politecnico di Milano Scuola di Ingegneria Industriale e dell’Informazione Corso di studi in Ingegneria Meccanica Appunti del corso

Si avrà quindi che la base φjN+1j=0 sarà composta da N+2 funzioni, definite come:

φ0 =

x1 − x

x1 − x0

x ∈ [x0, x1]

0 x ∈ [x0, x1]

φi =

x− xi−1

xi − xi−1

x ∈ [xi−1, xi)

xi+1 − x

xi+1 − xi

x ∈ [xi, xi+1]

0 x ∈ [xi−1, xi+1]

i = 1, 2, . . . , N

φN+1 =

x− xN

xN+1 − xN

x ∈ [xN , xN+1]

0 x ∈ [xN , xN+1]

I grafici relativi a queste funzioni sono riportati in Fig. 12.1.Sotto questa formulazione, si osserva che se la matrice di rigidezza A coinvol-

ge il prodotto φjφi (come in tutti i casi analizzati), questa non può che esseretridiagonale, poiché:

φjφi = 0 ⇐⇒ |i− j| ≤ 1

In generale, si tende a ricercare delle basi a elementi finiti con supporto (cioè ladistanza massima tale che φjφi = 0) più piccolo possibile, in modo che la matricedi rigidezza riempia di zeri e quindi sia più facile da risolvere.

La base che è appena stata ottenuta è detta base lagrangiana (Def. 3.1.2 apagina 50), ed è la stessa che si è trovata nel capitolo sull’approssimazione difunzioni. Come già analizzato in precedenza, questa tipologia di polinomi ha laproprietà di assumere valore unitario quando vengono valutati nel nodi in cui sonocentrati e di esser nulli in tutti gli altri nodi.

φj(xi) = δij

dove δij è il delta di Kronecker (Def. 3.1.3). Inoltre tutte le incognite uh possonoessere riscritte come come combinazione lineare degli elementi della base Inoltre,

220

Page 239: Appunti del corso di Metodi analitici e numerici...Politecnico di Milano Scuola di Ingegneria Industriale e dell’Informazione Corso di studi in Ingegneria Meccanica Appunti del corso

x0 x1 xN+1

1

x

φ0

(a) Primo elemento di una base genericaa elementi finiti lineari monodimensiona-le.

xi−1 xi xi+1

1

x

φi

(b) Elemento i-esimo di una base generi-ca a elementi finiti lineari monodimensio-nale.

x0 xN xN+1

1

x

φN+1

(c) Ultimo elemento di una base genericaa elementi finiti lineari monodimensiona-le.

x0 xN+1

1

x

φ

(d) Intera base a elementi finiti linearimonodimensionale.

Figura 12.1: Base a elementi finiti lineari in una dimensione.

221

Page 240: Appunti del corso di Metodi analitici e numerici...Politecnico di Milano Scuola di Ingegneria Industriale e dell’Informazione Corso di studi in Ingegneria Meccanica Appunti del corso

proprio per la proprietà del delta di Kronecker si ha che:

uh(x) =N+1∑j=0

ujφj(x) =⇒ uh(xi) =N+1∑j=0

ujφj(xi) = ui

Quindi la funzione incognita uh, valutata in corrispondenza dei nodi, è pari a unelemento delle incognite del problema.

Si osserva anche che in ogni elemento di griglia, le funzioni di base hanno unastruttura a X, che è sempre uguale. Per questo motivo è possibile elaborare unamappatura, per costruire le basi più velocemente. Sia dunque

x = ϕi(ξ) = xi + ξ(xi+1 − xi)

In cui ϕi(x) : [0, 1] −→ [xi, xi+1] è detta funzione di traccia e serve, una voltainvertia, per passare da una mappa sempre uguale alla generica funzione baseφi(x). Definendo due funzioni φ0(ξ) e φ1(ξ) con i valori di ξ ∈ [0, 1], si ottiene lamappa: φ0(ξ) = 1− ξ

φ1(ξ) = ξ

A questo punto si può invertire la funzione di traccia, per passare alle funzioni dibase, cioè ∀ i = 0, 1, . . . , N :

φi(x) = φ0

(ξ(x)

)φi+1(x) = φ1

(ξ(x)

)con: ξ(x) = ϕ−1

i (x) =x− xi

xi+1 − xi

Notare le due funzioni corrispondono a metà della funzione di base centrata sulnodo sinistro e metà della funzione di base che è centrata sul nodo destro; nellaFig. 12.2 è riportata la mappatura di un elemento generico della base.

222

Page 241: Appunti del corso di Metodi analitici e numerici...Politecnico di Milano Scuola di Ingegneria Industriale e dell’Informazione Corso di studi in Ingegneria Meccanica Appunti del corso

1

1

ξ

φ0, φ1

(a) Mappa.

xi xi+1

1

x

φi, φi+1

(b) Elemento i-esimo di una base generi-ca a elementi finiti lineari monodimensio-nale.

Figura 12.2: Mappatura per una base a elementi finiti lineari in una dimensione.

12.2.2 Elementi finiti quadratici

La seconda tipologia di elementi finiti più usata è costituita dagli elementi finitiquadratici. Secondo la definizione, si ha che:

X2h =

vh ∈ C0(Ω)

∣∣∣∣ vh∣∣Kj

∈ P2 ∀Kj ∈ τh

Quindi in questo caso non si hanno più delle rette, ma delle parabole. Ovviamen-te data la maggiore complessità del polinomio sono necessari tre punti per ogniparabola.

Elementi: Kj = (x2j, x2j+2) j = 0, 1, . . . , N

Vertici: x0, x2, . . . , x2N+2

Nodi: x0, x1, . . . , x2N+2

In altre parole si fa in modo che i nodi di indice pari siano i vertici delle parabolerivolte verso il basso, mentre quelli di indice dispari degli zeri di altre parabole

223

Page 242: Appunti del corso di Metodi analitici e numerici...Politecnico di Milano Scuola di Ingegneria Industriale e dell’Informazione Corso di studi in Ingegneria Meccanica Appunti del corso

xi−2 xi−1 xi xi+1 xi+2

1

x

φpari

(a) Elemento finito quadratico pari.

xi−1 xi xi+1

1

x

φdisp

(b) Elemento finito quadratico dispari.

x0 x2N+2

1

x

φ

(c) Intera base a elementi finiti quadratici monodimensionale.

Figura 12.3: Base a elementi finiti quadratici in una dimensione.

rivolte verso l’alto. Ovviamente deve valere ancora che:

φj(xi) = δij

Questa tipologia elementi finiti è riportata nella Fig. 12.3; in particolare si notache il supporto degli elementi quadratici pari è il doppio di quelli dispari.

Anche in questo caso è possibile adottare la tecnica della mappatura della base,

224

Page 243: Appunti del corso di Metodi analitici e numerici...Politecnico di Milano Scuola di Ingegneria Industriale e dell’Informazione Corso di studi in Ingegneria Meccanica Appunti del corso

che risulta un po’ più complicata di quella lineare. Nello specifico:φ0 = (1− ξ)(1− 2ξ)

φ1 = 4ξ(1− ξ)

φ2 = ξ(2ξ − 1)

=⇒ φi(x) = φk

(ξ(x)

)

12.3 Elementi finiti per il problema di Poisson

12.3.1 Problema di Poisson-Dirichlet

Si consideri il problema di Poisson con condizioni al contorno di Dirichlet, datoda: −µu′′(x) = f(x)

u(0) = u(L)x ∈ Ω = (0, L)

Ovviamente, qualora il problema non avesse condizioni omogenee, di deve utilizzarela funzione di rilevamento per renderlo tale.

Si è già visto, nel Par. 11.1.1 a pagina 204, come passare alla formulazionedebole del problema:

u ∈ V = H10 (Ω)

∣∣ a(u, v) = F (v) ∀ v ∈ V

A questo punto si passa al problema di Galërkin (Par. 12.1):

uh ∈ Vh ⊂ V∣∣ a(uh, vh) = F (vh) ∀ vh ∈ Vh

Dove la dimensione dello spazio funzionale è finita: dim(Vh) = Nh < +∞. Aquesto punto si crea una partizione τh dell’intervallo Ω = [0, L], con N + 1 nodiequispaziati, in modo che x0 = 0 e xN+1 = L. In tal caso il parametro h risultaessere:

h =L

N + 1

Adesso è necessario scegliere se utilizzare lo spazio a elementi finiti lineari oquadratici.

225

Page 244: Appunti del corso di Metodi analitici e numerici...Politecnico di Milano Scuola di Ingegneria Industriale e dell’Informazione Corso di studi in Ingegneria Meccanica Appunti del corso

L

1

uh(0) uh(L)

x

φ

Figura 12.4: Base degli elementi finiti lineari per il problema di Poisson con condizionidi Dirichlet omogenee; in azzurro sono segnati tutti gli elementi della base presenti, inviola quelli automaticamente esclusi dalle condizioni al contorno.

Elementi finiti lineari

Si analizzi per prima il caso più semplice, quello a elementi finiti lineari. Si imponequindi che:

Vh = X1h =

vh ∈ C0(Ω)

∣∣∣∣ vh∣∣Kj

∈ P1 ∀Kj ∈ τh

Avendo optato per questa scelta il problema risulta quindi essere:

uh ∈ Vh ⊂ V ∩X1h

∣∣ a(uh, vh) = F (vh) ∀ vh ∈ Vh

Notare che la scelta dello spazio (già a livello del problema in forma debole) erastata V = H1

0 , quindi lo spazio adesso risulta essere:

Vh ⊂ H10 (Ω) ∩X1

h(Ω)

In tal modo si sa per certo che la funzione deve essere nulla agli estremi, per cui sipuò evitare già dal principio di costruire la base ad elementi finiti in quelle zone;in Fig. 12.4 è riportata la base scelta.

Adesso è necessario costruire la soluzione, con la solita combinazione lineare

226

Page 245: Appunti del corso di Metodi analitici e numerici...Politecnico di Milano Scuola di Ingegneria Industriale e dell’Informazione Corso di studi in Ingegneria Meccanica Appunti del corso

(da notare gli estremi della sommatoria!):

uh =N∑j=1

ujφj(x)

A questo punto si hanno tutti gli strumenti per costruire la matrice di rigidezzaA e il vettore delle forzanti f . Per prima cosa è bene fare una riflessione sulle lorodimensioni:

dim(Vh) = N =⇒ A ∈ RN×N , f ∈ RN

Riprendendo il problema degli elementi finiti:

N∑j=1

a(φj, φi)uj =N∑j=1

(∫ L

0

µφ′jφ

′idxuj

)=

∫ L

0

fφidx i = 1, 2, . . . , N

Va da sé che le componenti della matrice di rigidezza e del vettore forzante risultanopari a:

Aij = µ

∫ L

0

φ′j(x)φ

′i(x)dx fi =

∫ L

0

f(x)φi(x)dx

Per prima cosa, si assembla la matrice di rigidezza. Per farlo, il primo passo ècalcolare le derivate degli elementi finiti.

Essendo loro delle rette, le derivate prime non saranno alto che i coefficientiangolari (cfr. Fig 12.5):

φ′i(x) =

1h

x ∈ (xi−1, xi)

− 1h

x ∈ (xi, xi+1)

Si possono distinguere quindi quattro diversi casi:

• Se |i− j| > 1 allora per forza almeno una delle due derivate (j o i che sia)si annulla, quindi:

φ′j(x)φ

′i(x) = 0 =⇒ Aij = 0

• Se j = i − 1 allora la derivata j sarà positiva, mentre quella i negativa,

227

Page 246: Appunti del corso di Metodi analitici e numerici...Politecnico di Milano Scuola di Ingegneria Industriale e dell’Informazione Corso di studi in Ingegneria Meccanica Appunti del corso

xi−1 xi xi+1

1

x

φi(x)

(a) Elemento finito generico.

xi−1 xi xi+1

− 1h

1h

x

φ′i(x)

(b) Derivata dell’elemento finito generi-co.

Figura 12.5: Elemento finito generico e derivata prima.

quindi:

Aij = µ

∫ L

0

1

h

(− 1

h

)dx = −µ

1

h

• Se j = i + 1 allora la derivata j sarà negativa, mentre quella i positiva,quindi:

Aij = µ

∫ L

0

(− 1

h

)1

hdx = −µ

1

h

• Se j = i allora le derivate avranno lo stesso segno, quindi il prodotto fra ledue non può che essere positivo:

Aij = µ

∫ L

0

(1

h

)2

= µ2

h

Tutto questo può essere riassunto nella matrice di rigidezza A. In particolare,essa avrà tutti zeri tranne che sulla diagonale, in cui assumerà sempre il valore 2,sulla sovradiagonale e sottodiagonale, in cui invece assumerà il valore di −1. Tutti

228

Page 247: Appunti del corso di Metodi analitici e numerici...Politecnico di Milano Scuola di Ingegneria Industriale e dell’Informazione Corso di studi in Ingegneria Meccanica Appunti del corso

gli elementi poi saranno moltiplicati per un fattore µ/h. In formule:

A =µ

h

2 −1 0 . . . 0

−1 2 −1...

0 −1 2. . .

. . . . . .... 2 −1

0 . . . −1 2

Quanto riguarda il vettore delle forzanti il discorso è più semplice: ogni com-

ponente è il risultato di un’integrazione definita:

fi =

∫ L

0

f(x)φi(x)dx i = 1, 2, . . . , N

Elementi finiti quadratici

Si consideri lo stesso problema di prima, definito come:−µu′′(x) = f(x)

u(0) = u(L) = 0x ∈ (0, L)

Esattamente come prima, si ha che il problema di Galërkin-elementi finiti è definitocome:

uh ∈ Vh ⊂ V∣∣ a(uh, vh) = F (vh) ∀ vh ∈ Vh

In questo caso si vogliono utilizzare gli elementi finiti quadratici, al posto di quellilineari. Per questo motivo si ha che:

Vh ⊂ V = H10 (Ω) ∩X2

h(Ω)

Ancora si ha la possibilità di escludere il primo e l’ultimo elemento della ba-se ad elementi finiti, poiché la funzione presenta degli zeri sia in corrispondenzadell’estremo destro, sia in corrispondenza di quello sinistro (cfr. Fig. 12.6).

La matrice di rigidezza A, non avendo cambiato la definizione rispetto a prima

229

Page 248: Appunti del corso di Metodi analitici e numerici...Politecnico di Milano Scuola di Ingegneria Industriale e dell’Informazione Corso di studi in Ingegneria Meccanica Appunti del corso

L

1

uh(0) uh(L)

x

φ

Figura 12.6: Base degli elementi finiti quadratici per il problema di Poisson con condi-zioni di Dirichlet omogenee; in azzurro sono segnati tutti gli elementi della base presenti,in viola quelli automaticamente esclusi dalle condizioni al contorno.

avrà elementi non nulli se:

[A]ij= 0 ⇐⇒

|i− j| ≤ 2 se i dispari

|i− j| ≤ 1 se i pari

Questo perché gli elementi finiti quadratici hanno un supporto pari a 4h quandosono dispari, mentre se sono pari hanno un supporto pari a 2h.

In ogni caso la matrice di rigidezza A ha una serie di importanti proprietà cheval la pena di sottolineare:

1. A è una matrice definita per bande, cioè composta da elementi non nulli abande diagonali;

2. se la forma a(·, ·) è simmetrica e coerciva, allora la matrice di rigidezza saràsimmetrica e definita positiva;

3. il numero di condizionamento della matrice A è pari a:

K2(A) =c

h2c > 0

Quindi se è vero che per h → 0 la soluzione uh → u, quindi il meto-do degli elementi finiti genera una soluzione molto più accurata, ma pur-troppo la soluzione numerica sarà affetta da grandi errori di approssima-

230

Page 249: Appunti del corso di Metodi analitici e numerici...Politecnico di Milano Scuola di Ingegneria Industriale e dell’Informazione Corso di studi in Ingegneria Meccanica Appunti del corso

zione, poiché Ks(A) → +∞ (tutto questo senza neanche contare il costocomputazionale. . . ).

Elementi finiti in più dimensioni

Il concetto alla base è pressoché identico. Per prima cosa si crea la base di elementifiniti; dato un insieme Ω definito su più dimensioni, si ha che:

V rh (Ω) =

vh ∈ C0(Ω)

∣∣∣∣ vh∣∣Kj

∈ Pr ∀Kj ∈ τh

Dato ad esempio uno spazio a tre dimensioni, si partiziona il dominio Ω tramitetanti triangoli in due dimensioni. In tal modo si crea una sorta di piramide in cuiil vertice assuma valore unitario e la base ha sempre valore nullo.

La ragione per cui di solito vengono utilizzati dei triangoli in due dimensioni èdata dal fatto che sono necessari e sufficienti tre punti per definire univocamenteun piano.

12.3.2 Problema di Poisson-Dirichlet-Robin

Si consideri il seguente problema misto, con condizioni di Dirichlet omogenee suun bordo e sull’altro condizioni di Robin:

−µu′′(x) = f(x)

u(0) = 0

µu′(x) + γu(L) = q2

x ∈ Ω = (0, L)

Si assuma anche che il coefficiente µ ∈ R+. Passando alla formulazione debole delproblema si ottiene:

u ∈ V = H1d(Ω)

∣∣ a(u, v) = F (v) ∀ v ∈ V

231

Page 250: Appunti del corso di Metodi analitici e numerici...Politecnico di Milano Scuola di Ingegneria Industriale e dell’Informazione Corso di studi in Ingegneria Meccanica Appunti del corso

Dove lo spazio funzionale scelto H1d(Ω) prevede che tutte le funzioni v abbiano uno

zero in corrispondenza del bordo sinistro:

H1d(Ω) =

v ∈ H1(Ω)

∣∣∣∣ v(0) = 0

In questa formulazione, la forma e il funzionale sono definite come:

a(u, v) = µ

∫ L

0

u′v′dx+ γu(L)v(L)

F (v) =

∫ L

0

fvdx+ q2v(L)

A questo punto, si può procedere con la formulazione del problema di Galërkin-elementi finiti, usufruendo degli elementi finiti lineari:

uh ∈ Vh ⊂ V = H1d(Ω) ∩X1

h(Ω)∣∣ a(uh, vh) = F (vh) ∀ vh ∈ Vh

Dato che nell’estremo sinistro la soluzione presenta uno zero, è possibile tralasciareil primo elemento della base ad elementi finiti, la quale quindi è esprimibile con lanotazione φi(x)N+1

i=1 (cfr. Fig 12.7).Da ultimo, si procede con l’assemblaggio della matrice A e del vettore delle

forzanti f . In realtà, questi sono molto simili al problema con le condizioni alcontorno di Dirichlet omogenee (Par. 12.3.1), fatta eccezione per le dimensioni egli ultimi elementi:

A ∈ R(N+1)×(N+1) f ∈ RN+1

La matrice di rigidezza A è del tutto analoga a quella precedente, tranne che per

232

Page 251: Appunti del corso di Metodi analitici e numerici...Politecnico di Milano Scuola di Ingegneria Industriale e dell’Informazione Corso di studi in Ingegneria Meccanica Appunti del corso

L

1

uh(0)

x

φ

Figura 12.7: Base degli elementi finiti per il problema di Poisson misto con condizionidi Dirichlet omogenee a sinistra e di Robin a destra; in azzurro sono segnati tutti glielementi della base presenti, in viola quello automaticamente esclusi dalle condizionial contorno di Dirichlet. Sulla destra è incluso quello in verde dove sono applicate lecondizioni di Robin, che non per forza implicano che la funzione uh presenti uno zero inL.

due correzioni sull’elemento [A]N+1,N+1:

A =µ

h

2 −1 0 . . . 0

−1 2 −1...

0 −1 2. . .

. . . . . .... 2 −1

0 . . . −1 1

+

0 0 0 . . . 0

0 0 0...

0 0 0. . .

. . . . . .... 0 0

0 . . . 0 γ

In particolare, si nota che l’ultimo elemento ha valore µ

hal posto che 2µ

h, poiché

si integra su un dominio che è la metà di tutti gli altri; inoltre è presente anchel’aggiunta di un termine γ, derivante dalle condizioni al bordo di Robin.

233

Page 252: Appunti del corso di Metodi analitici e numerici...Politecnico di Milano Scuola di Ingegneria Industriale e dell’Informazione Corso di studi in Ingegneria Meccanica Appunti del corso

Per quanto riguarda il vettore delle forzanti f il discorso è molto più facile:

f =

∫ L

0f(x)φ0(x)dx∫ L

0f(x)φ1(x)dx∫ L

0f(x)φ2(x)dx

...∫ L

0f(x)φN(x)dx∫ L

0f(x)φN+1(x)dx

+

0

0

0...0

q2

Infatti il vettore è del tutto analogo a quello precedente, fatta eccezione per l’ultimotermine, che vede invece l’aggiunta delle condizioni al contorno di Robin.

12.4 Elementi finiti per il problema di diffusionereazione e trasporto stazionario

Data la grande difficoltà di questo problema si analizzeranno solamente i casistazionari del problema.

12.4.1 Coefficienti costanti

Si consideri il problema differenziale, con condizioni di Neumann non omogenee,definito da:

−µu′′(x) + βu′(x) + σu(x) = f(x)

−µu′(0) = q1

µu′(L) = q2

x ∈ Ω = (0, L)

Affinché il problema sia stabile si assume che:

µ, σ ∈ R+ β ∈ R

Riscrivendo il problema in forma debole si ottiene:

u ∈ V = H1(Ω)∣∣ a(u, v) = F (v) ∀ v ∈ V

234

Page 253: Appunti del corso di Metodi analitici e numerici...Politecnico di Milano Scuola di Ingegneria Industriale e dell’Informazione Corso di studi in Ingegneria Meccanica Appunti del corso

Dove la forma e il funzionale valgono rispettivamente:

a(u, v) = µ

∫ L

0

u′v′dx+ β

∫ L

0

u′vdx+ σ

∫ L

0

uvdx

F (v) =

∫ L

0

fvdx+ q1v(0) + q2v(L)

Da notare che lo spazio vettoriale non ha più gli zeri agli estremi. Per questioni disemplicità si opta per uno spazio di elementi lineare, ottenuto da una partizionedi N + 2 nodi equispaziati, con passo h:

Vh = X1h =

vh ∈ C0(Ω)

∣∣∣∣ vh∣∣Kj

∈ P1 ∀Kj ∈ τh

h =

L

N + 1

Quindi il problema di Galërikn-elementi finiti diventa:

uh ∈ Vh ⊂ H1(Ω) ∩X2h

∣∣ a(uh, vh) = F (vh) ∀ vh ∈ Vh

Al contrario del problema di Dirichlet, questa volta bisogna per forza di coseutilizzare una base ad elementi finiti completa (Fig. 12.8). Di conseguenza, ledimensioni della matrice e dei vettori sono:

A ∈ R(N+2)×(N+2) f ∈ RN+2 uh(x) =N+1∑j=0

ujφj(x)

Per prima cosa si parte dalla forzante f , più semplice da calcolare. Dal proble-ma, si ha che:

fi =

∫ L

0

f(x)φi(x)dx+ q1φi(0) + q2φi(L) i = 0, 1, . . . , N + 1

Dato che gli ultimi due termini danno un contributo solo sul primo e sull’ultimo

235

Page 254: Appunti del corso di Metodi analitici e numerici...Politecnico di Milano Scuola di Ingegneria Industriale e dell’Informazione Corso di studi in Ingegneria Meccanica Appunti del corso

L

1

x

φ

Figura 12.8: Base degli elementi finiti per il problema di diffusione reazione e trasportostazionario con condizioni di Neumann; sono evidenziati in viola tutti gli elementi degliestremi, presenti anch’essi nel problema.

elemento del vettore, si può riscrivere:

f =

∫ L

0f(x)φ0(x)dx∫ L

0f(x)φ1(x)dx∫ L

0f(x)φ2(x)dx

...∫ L

0f(x)φN(x)dx∫ L

0f(x)φN+1(x)dx

+

q1

0

0...0

q2

Per quanto riguarda la costruzione della matrice di rigidezza, il discorso è piùcomplicato. Per semplicità si separano i tre contributi:

A = K + B + M

In particolare, queste matrici sono definite come:

Kij = µ

∫ L

0

φ′j(x)φ

′i(x)dx Bij = β

∫ L

0

φ′j(x)φi(x)dx Mij = σ

∫ L

0

φj(x)φi(x)dx

La matrice K è analoga alla matrice A incontrata nel caso del problema diPoisson con condizioni di Dirichlet omogenee (Par. 12.3.1), fatta eccezione per gli

236

Page 255: Appunti del corso di Metodi analitici e numerici...Politecnico di Milano Scuola di Ingegneria Industriale e dell’Informazione Corso di studi in Ingegneria Meccanica Appunti del corso

elementi [K]11 e [K]NhNh:

[K]11 = µ

∫ L

0

(φ′0

)2dx =

µ

h= [K]NhNh

In questo caso non si ha più il coefficiente due perché si sta integrando sul primoe l’ultimo elemento finito, che sono pari alla metà di uno standard. La matrice Krisulta quindi essere:

K =µ

h

1 −1 0 . . . 0

−1 2 −1...

0 −1 2. . .

. . . . . .... 2 −1

0 . . . −1 1

det(K) = 0

Per assemblare la matrice B, bisogna distinguere quattro casi diversi (cfr. Fig. 12.9):

• Se |i− j| > 1 allora per forza almeno una fra la derivata o la funzione basesi annulla, quindi:

φj(x)φ′i(x) = 0 =⇒ Bij = 0

• Se j = i−1 allora la derivata j sarà negativa e pari a un valore −1/h, mentrela funzione i positiva, quindi il valore dell’integrale sarà pari a:

Bij = β

∫ L

0

(− 1

h

)φi(x)dx = −β

1

h

h

2= −β

2

• Se j = i + 1 allora sia la derivata j che la funzione i saranno entrambepositive, quindi:

Bij = β

∫ L

0

(1

h

)φi(x)dx = β

1

h

h

2=

β

2

• Se j = i allora l’integrale sarà nullo. L’integrazione infatti può essere spez-

237

Page 256: Appunti del corso di Metodi analitici e numerici...Politecnico di Milano Scuola di Ingegneria Industriale e dell’Informazione Corso di studi in Ingegneria Meccanica Appunti del corso

xi−1 xi xi xi+1 xi−1 xi xi+1

1h

− 1h

1

≈ ≈

x

φ

Figura 12.9: Base degli elementi finiti per il problema di diffusione reazione e trasportostazionario per il calcolo della matrice B. In ordine sono rappresentati il caso j = i− 1,j = i+ 1 e infine j = i.

zata in due parti, nella prima la derivata risulta positiva, mentre la secondasarà negativa. I due integrali avranno quindi lo stesso valore, ma con segnoopposto:

Bij = β

∫ L

0

φ′jφidx = β

∫ xi+1

xi

φi1

hdx− β

∫ xi

xi−1

φi1

hdx = β

(1

h

h

2− 1

h

h

2

)= 0

Riassumendo questi concetti, la matrice B risulta essere pari a:

B =β

2

−1 1 0 . . . 0

−1 0 1...

0 −1 0. . .

. . . . . .... 0 1

0 . . . −1 −1

det(B) = 0

Da ultimo, si analizza la matrice M, detta anche matrice di massa. Anche inquesto caso, si analizzano tre diversi casi:

• Se |i− j| > 1 allora almeno una delle due funzioni risulta esser nulla, quindi:

φj(x)φi(x) = 0 =⇒ Mij = 0

238

Page 257: Appunti del corso di Metodi analitici e numerici...Politecnico di Milano Scuola di Ingegneria Industriale e dell’Informazione Corso di studi in Ingegneria Meccanica Appunti del corso

• Se j − i = ±1 allora una funzione è crescete, mentre l’altra è decrescente.Ne risulta quindi che:

Mij = σ

∫ L

0

φj(x)φi(x)dx =σh

6

• Se j = i allora entrambe le funzioni saranno uguali:

Mij = σ

∫ L

0

φjφidx =

∫ L

0

(φj

)2dx =

σh

3

La matrice M risulta infine essere pari a:

M =σh

6

2 1 0 . . . 0

1 2 1...

0 1 2. . .

. . . . . .... 2 1

0 . . . 1 2

det(M) = 0

12.4.2 Coefficienti non costanti

Si supponga che i dati del problema non siano costanti, ma funzioni nella variabilespaziale. Il problema di diffusione reazione e trasporto stazionario risulta quindi:−

(µ(x)u′(x)

)′+ β(x)u′(x) + σ(x)u(x) = f(x)

u(0) = u(L) = 0x ∈ Ω = (0, L)

Per ipotesi si assuma che:

µ(x) ≥ µ0 > 0 σ(x) ≥ σ0 > 0 ∀x ∈ Ω

Anche in questo caso si può passare alla formulazione debole del problema, la qualeè sintetizzabile come:

u ∈ V = H10 (Ω)

∣∣ a(u, v) = F (v) ∀ v ∈ V

239

Page 258: Appunti del corso di Metodi analitici e numerici...Politecnico di Milano Scuola di Ingegneria Industriale e dell’Informazione Corso di studi in Ingegneria Meccanica Appunti del corso

In cui la forma e il funzionale sono definiti esattamente come nel caso precedente,fatta eccezione per le funzioni µ(x), β(x) e σ(x), che questa volta non possonouscire dall’integrale:

a(u, v) =

∫ L

0

µu′v′dx+

∫ L

0

βu′vdx+

∫ L

0

σuvdx

F (v) =

∫ L

0

fvdx

A questo punto si hanno tutti gli strumenti per passare al metodo di Galërkin-elementi finiti; la matrice di rigidezza risulta quindi:

[A]ij=

∫ L

0

µ(x)φ′jφ

′idx+

∫ L

0

β(x)φ′jφidx+

∫ L

0

σ(x)φjφidx

mentre il vettore delle forzanti:

fi =

∫ L

0

fφidx

In questo caso non è possibile calcolare un grande numero di integrali in formaesatta, per via delle funzioni µ(x), β(x) e σ(x), che non per forza hanno degliintegrali semplici da svolgere. Inoltre, anche ammesso di poter calcolare in manieraanalitica tutti gli integrali, risulta davvero poco conveniente, per via del fatto cheil problema degli elementi finiti acquista una maggior validità al crescere delladiscretizzazione dello spazio. Alla luce di tutto ciò, si utilizzano le formule diquadratura per risolvere gli integrali:

fi ≃N+1∑q=0

αqf(yq)φi(yq)

Di solito, al fine di ottimizzare i calcoli si fa uso dei nodi di Gauss-Legendre(Par. 4.1.5 a pagina 76) e si fa in modo che il grado di esattezza sia almeno 2r,dove r è il grado degli elementi finiti.

240

Page 259: Appunti del corso di Metodi analitici e numerici...Politecnico di Milano Scuola di Ingegneria Industriale e dell’Informazione Corso di studi in Ingegneria Meccanica Appunti del corso

12.5 Elementi finiti per un problema di diffusio-ne

Il caso del problema di diffusione è notevolmente più complicato di tutti gli altririscontrati finora: infatti questa è la prima volta che si si incontra un problemaalle derivate parziali.

Si consideri dunque il problema differenziale, definito come:ut(x, t)− µxx(x, t) = f(x) Ω× (0, T )

u(0, t) = u(L, t) = 0 t ∈ (0, T )

u(x, 0) = u0(x) x ∈ Ω = (0, L)

Per prima cosa è necessario passare alla formulazione debole del problema, datada:

u ∈ V = H10 (Ω)

∣∣ a(u, v) = F (v) ∀ v ∈ V

In cui la forma e il funzionale risultano essere pari a:

a(u, v) =

∫ L

0

utvdx+ µ

∫ L

0

uxvxdx

F (v) =

∫ L

0

fvdx

Adesso è necessario valutare il problema equivalente di Galëkin-Elementi finiti:

Vh ⊂ V ∩Xrh(Ω) = H1

0 (Ω) ∩Xrh(Ω)

Sia dunque φj(x)Nhj=1 la base dello spazio ad elementi finiti. Si ha quindi che:

uh(x) =

Nh∑j=1

φj(x)uj(t) uh(t) ∈ Vh ∀ t > 0

Questa volta non si hanno dei coefficienti, ma delle vere e proprie funzioni temporali

241

Page 260: Appunti del corso di Metodi analitici e numerici...Politecnico di Milano Scuola di Ingegneria Industriale e dell’Informazione Corso di studi in Ingegneria Meccanica Appunti del corso

uh(t) come incognite:

uj(t) : (0, T ) −→ R j = 1, 2, . . . , Nh

Inoltre, essendo la base funzione della sola coordinata spaziale l’intera derivatatemporale si scarica sull’incognita:

∂uh

∂t(t) =

Nh∑j=1

φj(x)uj(t)

Il problema ad elementi finiti risulta quindi:

∀ t > 0 uh ∈ Vh

∣∣ ∫ L

0

∂uh

∂tvhdx+ µ

∫ L

0

u′hv

′hdx =

∫ L

0

fvhdx ∀ vh ∈ Vh

Con la costante di Cauchy definita come: uh(0) = u0,h ∈ Ω.Questa tipologia di problema è detta anche semidiscreta, per via del fatto che,

pur avendo continuità temporale, si ha una discretizzazione spaziale.Ora si hanno tutti gli strumenti per determinare le incognite. A differenza di

prima, non ci si può più ricondurre a un semplice sistema lineare, ma:

∫ L

0

Nh∑j=1

uj(t)φjφidx+ a

( Nh∑j=1

ujφj, φi

)=

∫ L

0

fφidx ∀i

Sfruttando le proprietà dei vari operatori è possibile riscrivere l’equazione come:

Nh∑j=1

uj(t)

∫ L

0

φjφidx︸ ︷︷ ︸[M]ij

+

Nh∑j=1

uj a(φj, φi)︸ ︷︷ ︸[A]ij

=

∫ L

0

fφidx︸ ︷︷ ︸fi

∀i

Quindi il problema è diventato un problema di Cauchy, definito come:Mu(t) + Au(t) = f

u(0) = u0

Dove il vettore u0 corrisponde alla condizione iniziale discreditata. A questo punto

242

Page 261: Appunti del corso di Metodi analitici e numerici...Politecnico di Milano Scuola di Ingegneria Industriale e dell’Informazione Corso di studi in Ingegneria Meccanica Appunti del corso

non resta che procedere con la discretizzazione del dominio temporale e procederecon un metodo risolutivo per sistemi di ODE. Ad esempio, si utilizzano i ϑ-metodi:

1

∆tM(uk+1 − uk) + A

[ϑuk+1 + (1− ϑ)uk

]= ϑf(tk+1)− (1− ϑ)ftk

tutto questo per k = 0, 1, . . . , Nt− 1. Riscrivendo il stistema di Cauchy, si ottiene:[

M∆t

+ ϑA]uk+1 =

[M∆t

+ (1− ϑ)A]uk +

[ϑfk+1 − (1− ϑ)fk

]u(0) = u0

∀ k

La convergenza in spazio dell’errore è data da:

e ≤ chα(r) +∆tβ(ϑ)

Quindi se ϑ ∈ [1/2, 1] si ha assoluta stabilità incondizionata, mentre per ϑ ∈ [0, 1/2]

si ha assoluta stabilità solamente se:

∆t < Cϑh2

12.6 Stima degli errori

Dato un problema in forma debole con soluzione u e un’approssimazione di essauh, mediante il metodo degli elementi finiti, si cerca di dare una stima a prioridell’errore che si commette:

e = u− uh ∈ V

Definizione 12.6.1 (Interpolante polinomiale composito). Un interpolante poli-nomiale composito di una funzione v ∈ C0(Ω) è una funzione del tipo:

Πrhv(x) : Ω −→ Xr

h(Ω)

Vale a dire una funzione che va da un dominio noto allo spazio degli elementi finitiche si sta considerando.

243

Page 262: Appunti del corso di Metodi analitici e numerici...Politecnico di Milano Scuola di Ingegneria Industriale e dell’Informazione Corso di studi in Ingegneria Meccanica Appunti del corso

Tramite questa formulazione si ha che:

Πrhv(x) ∈ Xr

h(Ω) Πrhv(xi) = v(xi) ∀ i

Dato che l’interpolante appartiene allo spazio degli elementi finiti è sempre possi-bile considerarlo come combinazione lineare delle funzioni della base dello spazio,cioè le lagrangiane:

Πrhv(x) =

N+1∑j=0

v(xj)φj(x)

Teorema 12.6.1 (Errore dell’interpolante polinomiale composito). Data una fun-zione v ∈ Hr+1(Ω) e la sua interpolante Πr

hv(x) si ha che:

∥v − Πrhv∥L2 ≤ C0,r h

r+1|v|Hr+1

∥v − Πrhv∥H1 ≤ C0,r h

r+1|v|Hr+1

Esempio 12.6.1 (Errore problema Poisson-Dirichlet). Si consideri il problema diPoisson-Dirichlet, definito come:−µu′′(x) = f(x)

u(0) = u(L)x ∈ Ω = (0, L)

Sia dunque u ∈ H10 (Ω) soluzione al problema debole e uh ∈ Vh = V ∩ X2

h(Ω)

la sua approssimazione mediante il metodo degli elementi finiti di grado r. Seu ∈ Hp+1(Ω) e il parametro p ≥ r, allora:

∥u− vh∥V ≤ cM

αhr|u|Hr+1

dove C è una costante indipendente da h e u, mentre M e α sono rispettivamentele costanti di continuità e coercività della forma.

La dimostrazione di tutto ciò si può ottenere dal lemma di Céa (Teo. 12.1.6);infatti:

∥u− vh∥V ≤ CM

αinf

vh∈Vh

∥u− uh∥V

244

Page 263: Appunti del corso di Metodi analitici e numerici...Politecnico di Milano Scuola di Ingegneria Industriale e dell’Informazione Corso di studi in Ingegneria Meccanica Appunti del corso

Dato che l’interpolante Πrhu ∈ Vh ⊂ V ∩ Xr

h, si può utilizzare proprio questafunzione per ottenere un confronto:

∥u− uh∥V ≤ M

α∥u− Πr

hu∥V

Inoltre, per la disuguaglianza di Poincaré (Teo. 10.1.9 a pagina 197) si ha che:

∥u− uh∥V ≤ C∥u− uh∥H1 ≤ Ch2∥u− uh∥Hr+1

Da cui segue infine che:

∥u− vh∥V ≤ CM

αhr|u|Hr+1

Teorema 12.6.2 (Errori metodi elementi finiti). Se u ∈ Hp+1(Ω) con il parametrop > 0 si ha che:

∥u− uh∥V ≤ Chs|u|Hs+1 s = minr, p

Quindi, se la funzione u risulta essere più regolare di quanto atteso, l’erroretotale può essere ridotto non solo riducendo il passo h, ma anche aumentando ilparametro p. Se poi p ≥ r si ha comunque che l’ordine di convergenza resta p, puraumentando r.

Un analogo risultato può essere ottenuto con la stima in norma L2.

Teorema 12.6.3 (Stima errore in norma L2). Se u ∈ Hp+1(Ω) e p > 0:

∥u− uh∥L2 ≤ Chs+1|u|Hs+1 s = minr, p

Infine se p ≥ r:

∥u− uh∥V ≤ Chr|u|Hr+1 ∥u− uh∥L2 ≤ Chr|u|Hr+1

245

Page 264: Appunti del corso di Metodi analitici e numerici...Politecnico di Milano Scuola di Ingegneria Industriale e dell’Informazione Corso di studi in Ingegneria Meccanica Appunti del corso

Parte IV

Trasformate integrali

246

Page 265: Appunti del corso di Metodi analitici e numerici...Politecnico di Milano Scuola di Ingegneria Industriale e dell’Informazione Corso di studi in Ingegneria Meccanica Appunti del corso

Capitolo 13

Trasformata di Fourier

La trasformata di Fourier è uno strumento matematico molto potete in grado dirisolvere facilmente problemi differenziali complessi. In particolare, la trasformatadi Fourier è in grado di scrivere una funzione dipendente dal tempo nel dominiodelle frequenze e di trasformare quindi il problema differenziale in un problemamolto più semplice da risolvere. Per questo motivo questa tecnica è applicata inmolti campi dell’ingegneria e delle discipline scientifiche. c

13.1 Integrale di Fourier

Si consideri una funzione f(x) : R −→ R periodica su un intervallo generico[−L,L] ⊂ R. Se la funzione è sufficientemente regolare, può essere scritta comeserie di Fourier (cfr. Par. 6.3 a pagina 124):

f(x) =a02

++∞∑n=1

[an cos

(nπ

Lx

)+ bn sin

(nπ

Lx

)](13.1)

dove i coefficienti an e bn sono pari a:

an =1

L

∫ L

−L

f(x) cos

(nπ

Lx

)dx bn =

1

L

∫ L

−L

f(x) sin

(nπ

Lx

)dx

Per ricavare i coefficienti di Fourier basta moltiplicare da ambo le parti l’equazio-ne (13.1) per cos

(mπLx). Quindi se:

247

Page 266: Appunti del corso di Metodi analitici e numerici...Politecnico di Milano Scuola di Ingegneria Industriale e dell’Informazione Corso di studi in Ingegneria Meccanica Appunti del corso

• m = 0 ∫ L

−L

f(x)dx =

∫ L

−L

a02dx = La0

• m > 0∫ L

−L

f(x) cos

(mπ

Lx

)dx =

∫ L

−L

an cos

(nπ

Lx

)cos

(mπ

Lx

)dx = Lδn,ma0

in cui δn,m è il delta di Kronecker (Def. 3.1.3). L’ultima equazione è stataottenuta usufruendo dell’ortogonalità delle funzioni coseno. Da notare cheun risultato analogo può essere raggiunto con i coefficienti bn.

Quindi, una qualsiasi funzione f ∈ L2(0, L) tale che:

f(x) : [0, L] −→ R

può essere sempre scritta come somma di soli seni o soli coseni. Per farlo bisogna,prima di calcolare i coefficienti di Fourier, renderla pari, per risistemare la funzionein modo che sia pari (per serie di coseni) oppure dispari (per la serie di seni).

Definizione 13.1.1 (Funzione regolare a tratti). Una funzione f : [a, b] −→ R èdetta regolare a tratti sull’intervallo [a, b] se:

1. f(x) ∈ C0 a tratti nell’intervallo;

2. f ′(x) ∈ C0 sull’intervallo, tranne che in un numero finito di punti.

Teorema 13.1.1 (Teorema di Dirichlet). Se f : [−L,L] −→ R è regolare a trattiallora la sua serie di Fourier converge a:

1

2

[f(x−) + f(x+)

]x ∈ [−L,L]

Definizione 13.1.2 (Spettro in frequenza). Lo spettro discreto in frequenza diuna funzione f(x) è dato dai cn+∞

n=0, con:

cn =√

a2n + b2n

248

Page 267: Appunti del corso di Metodi analitici e numerici...Politecnico di Milano Scuola di Ingegneria Industriale e dell’Informazione Corso di studi in Ingegneria Meccanica Appunti del corso

e la quantità:ωn =

L

è detta frequenza n-esima.

Purtroppo la serie di Fourier è limitata alle sole funzioni periodiche di periodofinito. L’obiettivo è quindi quello di espandere questo concetto a funzioni generichef : R −→ R non periodiche (o periodiche di periodo infinito).

Tutte le serie possono essere estese nel continuo dagli integrali. È quindipossibile definire l’integrale di Fourier come:

f(x) =

∫ +∞

0

a(ω) cos(ω)dω +

∫ +∞

0

b(ω) sin(ω)dω

In questo caso a e b non sono più coefficienti, ma vere e proprie funzioni continue,che evolvono come:

a(ω) =1

π

∫Rf(x) cos(ωx)dx b(ω) =

1

π

∫Rf(x) sin(ωx)dx

Definizione 13.1.3 (Spettro in frequenza continuo). Analogamente a quanto vistoper i coefficienti di Fourier, si definisce lo spettro in frequenza continuo come:

c(ω) =√a2(ω) + b2(ω)

Esempio 13.1.1 (Calcolo spettro continuo). Si consideri la funzione indicatricedefinita come:

f(x) = χ(−1,1)(x) =

1 x ∈ (−1, 1)

0 x ∈ (−1, 1)

Per calcolare a(ω) non si fa altro che applicare la definizione e calcolare l’inte-

249

Page 268: Appunti del corso di Metodi analitici e numerici...Politecnico di Milano Scuola di Ingegneria Industriale e dell’Informazione Corso di studi in Ingegneria Meccanica Appunti del corso

grale per via analitica:

a(ω) =1

π

∫Rχ(−1,1)(x) cos(ωx)dx

=1

π

∫ 1

−1

cos(ωx)dx

=1

πωsin(ωx)

∣∣∣∣1−1

=2

πωsin(ω)

Analogamente questo processo può essere utilizzato per il calcolo di b(ω):

b(ω) =1

π

∫Rχ(−1,1)(x) sin(ωx)dx

=1

π

∫ 1

−1

sin(ωx)dx

= − 1

πωcos(ωx)

∣∣∣∣1−1

= 0

Da ultimo, si ha che:

c(ω) =√a2(ω) + b2(ω) = |a(ω)| = 2

π

∣∣∣∣sin(ω)ω

∣∣∣∣In Fig. 13.1 è possibile osservare la funzione in un dominio temporale e il suospettro continuo.

Definizione 13.1.4 (Assoluta integrabilità). Una funzione f(x) si dice assoluta-mente integrabile in R se:

f ∈ L1(R) =v : R −→ R

∣∣∣∣ ∫R|v(x)|dx < +∞

Teorema 13.1.2 (Convergenza integrale di Fourier). Data una funzione f(x)

regolare a tratti sull’intervallo [−L,L], ∀L > 0, e f(x) ∈ L1(R) allora esiste il suo

250

Page 269: Appunti del corso di Metodi analitici e numerici...Politecnico di Milano Scuola di Ingegneria Industriale e dell’Informazione Corso di studi in Ingegneria Meccanica Appunti del corso

1−1

1

x

χ(−1,1)

(a) Funzione indicatrice χ(−1,1).

ω

c(ω)

(b) Spettro continuo c(ω) in azzurro, inviola il ramo di iperbole 2/πω.

Figura 13.1: Funzione indicatrice e relativo spetto continuo.

integrale di Fourier, che converge a:

f(x) =

∫ +∞

0

a(ω) cos(ω)dω +

∫ +∞

0

b(ω) sin(ω)dω −→ 1

2

[f(x−) + f(x+)

]Inoltre si ha che:

f(x) =1

π

∫ +∞

0

∫Rf(ξ) cos

(ω(ξ − x)

)dξdω ∀x ∈ R

Da quest’ultimo teorema è possibile ricavare la trasformata di Fourier. Primadi tutto occorre scrivere in maniera più intelligente la funzione coseno; per farlo siutilizza la relazione di Eulero:

eiωx = cos(ωx) + i sin(ωx)

Da cui è immediato ricavare:

cos(ωx) =1

2

[eiωx + e−iωx

](13.2)

Per cui dal Teo. 13.1.2, si ha che:

1

2

[f(x−) + f(x+)

]=

1

[ ∫R

∫Rf(ξ) cos

(ω(ξ − x)

)dξdω

]251

Page 270: Appunti del corso di Metodi analitici e numerici...Politecnico di Milano Scuola di Ingegneria Industriale e dell’Informazione Corso di studi in Ingegneria Meccanica Appunti del corso

Infine, sostituendo la funzione coseno con l’Eq. (13.2), si ottiene:

f(x) =1

∫R

∫Rf(ξ)e−iωξdξ︸ ︷︷ ︸

Trasformata di Fourier

eiωxdω

A questo punto, basta solamente definire la trasformata in modo formale.

Definizione 13.1.5 (Trasformata di Fourier). Data una funzione f : R −→ R conf(x) ∈ L1(R), la sua trasformata di Fourier è data da:

F[f(x)

](ω) = f(ω) =

∫Rf(ξ)e−iωξdξ

Definizione 13.1.6 (Antitrasformata di Fourier). Data una trasformata di Fourierf(ω), si definisce antitrasformata di Fourier la funzione:

F−1[f(ω)

](x) =

ˆf(x) =

1

∫Rf(ω)eiωxdω

È importante notare che in generale la trasformata di Fourier è una funzioneche va da un dominio reale a uno complesso, cioè: f(ω) : R −→ C. Inoltre, si hasempre che: ∣∣∣f(ω)∣∣∣ = 2πc(ω)

dove c(ω) è lo spettro continuo (Def. 13.1.3) della funzione f(x).

Esempio 13.1.2 (Calcolare trasformata). Si consideri la funzione f(x) = e−c|x|.Applicando la Def. 13.1.5, si ha che:

f(ω) =

∫Rf(x)e−iωxdx =

∫Re−iωx−c|x|dx

252

Page 271: Appunti del corso di Metodi analitici e numerici...Politecnico di Milano Scuola di Ingegneria Industriale e dell’Informazione Corso di studi in Ingegneria Meccanica Appunti del corso

1

x

f(x)

(a) Funzione originale.

2c

ω

f(ω)

(b) Trasformata di Fourier.

Figura 13.2: Esempio della trasformata di Fourier della funzione f(x) = e−c|x|.

Ora, per risolvere l’integrale occorre sfruttare la sua proprietà di additività:

f(ω) =

∫ +∞

0

e−x(iω+c)dx+

∫ 0

−∞e−x(iω−c)dx

= −e−x(iω+c)

iω + c

∣∣∣∣+∞

0

+ex(c−iω)

c− iω

∣∣∣∣0−∞

=1

c+ iω+

1

c− iω=

2c

c2 + ω2

Nella Fig. 13.2 è possibile avere un confronto tra la funzione originale e la suatrasformata.

13.2 Proprietà trasformata di Fourier

In questo paragrafo verranno esposte le proprietà più importanti della trasformatadi Fourier.

Teorema 13.2.1 (Linearità trasformata di Fourier). La trasformata di Fourier èun operatore lineare, per cui ∀ f, g ∈ L1(R) e ∀α, β ∈ R si ha che:

F[αf(x) + βg(x)

](ω) = αF

[f(x)

](ω) + βF

[g(x)

](ω)

253

Page 272: Appunti del corso di Metodi analitici e numerici...Politecnico di Milano Scuola di Ingegneria Industriale e dell’Informazione Corso di studi in Ingegneria Meccanica Appunti del corso

Teorema 13.2.2 (Proprietà di traslazione). Una traslazione viene trasformata inuna moltiplicazione per una costante opportuna. Infatti ∀ f ∈ L1(R) e ∀ ξ0 ∈ R:

F[f(x− ξ0)

](ω) = e−iξ0ωF

[f(x)

](ω)

Teorema 13.2.3 (Proprietà dello shifting in frequenza). Analogamente al proce-dente teorema, si ha che, ∀ f ∈ L1(R) e ∀ω0 ∈ R:

F[eiω0xf(x)

](ω) = f(ω − ω0)

F−1[f(ω − ω0)

](x) = eiω0xf(x)

Teorema 13.2.4 (Proprietà dello scaling). Questa proprietà, completamente di-versa dalla linearità fa si che dilatazioni e compressioni hanno un effetto specificosulla trasformata di Fourier, cioè ∀α ∈ R:

F[f(αx)

](ω) =

1

|α|f

α

)F−1

[f

α

)](x) = |α|f(αx)

Teorema 13.2.5 (Proprietà dell’inversione temporale). Invertendo la variabile x,si ottiene:

F[f(−x)

](ω) = f(−ω)

Definizione 13.2.1 (Prodotto di convoluzione). Assegnate due funzioni realigeneriche f, g : R −→ R, il loro prodotto di convoluzione e dato da:

(f ∗ g)(x) =∫Rf(x− ξ)g(ξ)dξ

ed è commutativo:(f ∗ g)(x) = (g ∗ f)(x)

l’operazione di convoluzione si usa spesso nell’analisi dei segnali: la funzione g

indica il segnale misurato, mentre la funzione f la riposta dello strumento; il loroprodotto di convoluzione è l’output dello strumento.

254

Page 273: Appunti del corso di Metodi analitici e numerici...Politecnico di Milano Scuola di Ingegneria Industriale e dell’Informazione Corso di studi in Ingegneria Meccanica Appunti del corso

Tabella 13.1: Trasformate di Fourier delle funzioni più comuni (a, α ∈ R, β ∈ R+)

f(x) F[f(x)

](ω)

e−β|x| 2β

β2 + ω2

1

x2 + a2π

aea|ω|

kχ(−a,a)(x) 2ksin(aω)

ω

δ0(x) 1

1 2πδ0(ω)

sin(αx)

xπχ(−α,α)(ω)

e−αx2

√π

αe

ω2

255

Page 274: Appunti del corso di Metodi analitici e numerici...Politecnico di Milano Scuola di Ingegneria Industriale e dell’Informazione Corso di studi in Ingegneria Meccanica Appunti del corso

Teorema 13.2.6 (Teorema di convoluzione). Date due funzioni f, g integrabili suun intervallo [−L,L], in cui L < +∞, e tali per cui ∃ (f ∗ g)(x) si ha che:

F[(f ∗ g)(x)

](ω) = F

[f(x)

](ω)F

[g(x)

](ω) = f(ω)g(ω)

F−1[f(ω)g(ω)

](x) = (f ∗ g)(x)

Teorema 13.2.7 (Trasformata della derivata). Dato n > 0 e una funzione realetale che f (n−1) ∈ C0(R), f (n−1) ∈ L1(R) e f (n) continua a tratti su R e:

limx→+∞

f (k)(x) = 0 ∀ k = 0, 1, . . . , n− 1

allora si ha che:F[f (n)(x)

](ω) = (iω)nf(ω)

In caso di funzioni a più variabili si trasforma la funzione su una sola variabile:quella spaziale. Per cui si ha che:

F

[∂u

∂x(x, t)

](ω) = iωu(ω, t)

F

[∂u

∂t(x, t)

](ω) =

∂tu(ω, t)

Infine si ha che:F[xf(x)

](ω) = i

d

dωf(ω)

Nell’ambiente MATLAB® è disponibile una funzione che permette di calcolarela trasformata di Fourier in maniera simbolica:

F = fourier(f, t, w)

in cui f è la funzione simbolica, F la sua trasformata, t la variabile della funzionerispetto cui si intente trasformare e infine w la variabile in cui verrà scritta lafunzione trasformata. È anche disponibile la funzione per antitrasformare unafunzione:

f = ifourier(F, w, t)

in cui gli argomenti sono gli stessi rispetto ai precedenti.

256

Page 275: Appunti del corso di Metodi analitici e numerici...Politecnico di Milano Scuola di Ingegneria Industriale e dell’Informazione Corso di studi in Ingegneria Meccanica Appunti del corso

13.3 Problemi differenziali

Spesso è possibile, e sopratutto conveniente, trasformare con Fourier un problemaalle derivate parziali per trovare un metodo di risoluzione più semplice ed efficace.Una volta trovata la soluzione è possibile tornare indietro tramite l’antitrasformata.

Purtroppo questo metodo risolutivo permette di trovare come soluzioni, le solefunzioni trasformabili con Fourier.

13.3.1 Equazione di Laplace nel semipiano

Si supponga per ipotesi che la soluzione u(x, y) sul semipiano Ω = R × (0,+∞)

sia limitata per x → ±∞ e che la funzione f ∈ L1(R), cioè:

u, ux|x|→+∞−−−−−→ +∞

Il problema differenziale si configura nella forma:−∇2u(x, y) = 0

u(x, 0) = f(x)x ∈ Ω = R× (0,+∞)

A questo punto occorre trasformare il problema di Laplace nella variabile x, cioèquella in cui sono non applicate le condizioni al contorno:

u(ω, y) = F[u(x, y)

](ω, y) =

∫Ru(x, y)e−iωxdx

Naturalmente anche il Laplaciano deve essere trasformato:

F[∇2u(x, y)

](ω, y) = F

[uxx(x, y) + uyy(x, y)

](ω, y) = −ω2u(ω, y) +

∂2

∂y2u(ω, y)

Le condizioni al contorno diventano invece:

u(ω, 0) =

∫Ru(x, 0)e−iωxdx = f(ω)

257

Page 276: Appunti del corso di Metodi analitici e numerici...Politecnico di Milano Scuola di Ingegneria Industriale e dell’Informazione Corso di studi in Ingegneria Meccanica Appunti del corso

Mettendo tutto insieme si ottiene il problema trasformato:uyy(ω, y)− ω2u(ω, y) = 0 (ω, y) ∈ R× (0,+∞)

u(ω, 0) = f(ω) ω ∈ R

Questo è un problema differenziale ordinario nella variabile y, molto più facile da ri-solvere rispetto a prima. Il problema è, almeno a prima vista, non è completamentedefinito: manca infatti una condizione al contorno.

In ogni caso si può trovare la soluzione generale, cioè un’espressione del tipo:

u(ω, y) = a(ω)eωy + b(ω)e−ωy

Tuttavia per rispettare l’ipotesi si deve fare in modo che la soluzione u(x, y)

sia limitata, quando y → +∞. In particolare si ha che:

• Se ω < 0, u(ω, y) non è limitata se a(ω) = 0;

• Se ω > 0, u(ω, y) non è limitata se b(ω) = 0

È complicato: sistemando un termine l’altro crea automaticamente problemi.Per semplicità quindi si cerca una soluzione del tipo:

u(ω, y) = k(ω)e−|ω|y

tal modo basta che il termine k(ω) sia limitato; si pongono quindi le condizioni alcontorno:

u(ω, 0) = k(ω) = f(ω)

Da cui segue che la soluzione è:

u(ω, y) = f(ω)e−|ω|y

A questo punto si ha la soluzione sul dominio delle frequenze, quindi si deve so-lo antitrasformare quanto ottenuto per concludere il problema. Si consideri lasoluzione hatu(ω, y) come prodotto di due funzioni trasformate:

u(ω, y) = f(ω)g(ω, y)

258

Page 277: Appunti del corso di Metodi analitici e numerici...Politecnico di Milano Scuola di Ingegneria Industriale e dell’Informazione Corso di studi in Ingegneria Meccanica Appunti del corso

In cui la funzione:g(ω, y) = e−|ω|y

Fortunatamente, se si considera y costante e una trasformata notevole:

g(x, y) = F−1[g(ω, y)

](x, y) =

√2

π

y

(x2 + y2)

Sfruttando in ultima istanza il Teo. 13.2.6 si ha che:

u(x, y) = F−1[f(ω)g(ω, y)

](x, y) = (f ∗ g)(x, y) =

∫Rf(x− s)g(s)ds

Da cui segue che:

u(x, y) =

√2

πy

∫R

f(x− s)

s2 + y2ds

Esempio 13.3.1 (Delta di Dirac). Inserendo come condizione al contorno lafunzione f(x) = δ0(x) si ottiene:

u(x, y) =

√2

πy

∫R

δ0(x− s)

s2 + y2ds =

√2

π

y

x2 + y2

13.3.2 Problema di diffusione

Si consideri il seguente problema di diffusione:ut − µuxx = 0 (x, t) ∈ R× (0,+∞)

u(x, 0) = ϕ(x) x ∈ R

Tale problema è monodimensionale per quanto riguarda la coordinata spaziale equindi è definito su un semipiano spazio-temperale:

Ω = R× (0,+∞)

Per risolvere questo problema occorre utilizzare il metodo di separazione delleveriabili:

u(x, t) = X(x)T (t)

259

Page 278: Appunti del corso di Metodi analitici e numerici...Politecnico di Milano Scuola di Ingegneria Industriale e dell’Informazione Corso di studi in Ingegneria Meccanica Appunti del corso

Da cui derivano i seguenti due problemi:

X ′′(x) + λX(x) = T ′(t) + µλT (t) = 0 λ ∈ R

Applicando il procedimento analizzato nei capitoli precedenti si ha che la soluzioneè esprimibile attraverso:

uω(x, t) =[a(ω) cos(ωt) + b(ω) sin(ωt)

]e−µω2t

Dato che il dominio spaziale è infinito si hanno per forza pulsazioni ω continuee non discrete come nei casi analizzati finora. Naturalmente anche la soluzioneu(x, t) sarà una somma continua di uω, cioè l’integrale di Fourier:

u(x, t) =

∫Ruω(x, t)dω

a(ω) =1

π

∫Rϕ(x) cos(ωx)dx

b(ω) =1

π

∫Rϕ(x) sin(ωx)dx

Tale metodo funziona, ma non è il massimo: meglio usare la trasformata di Fourier.Per prima cosa si trasforma la funzione:

u(ω, t) = F[u(x, t)

](ω, t)

L’equazione invece:

F

[∂u

∂t

](ω, t) = µF

[∂2u

∂x2

](ω, t)

A questo punto il dominio è cambiato: (ω, t) ∈ R×R+. Il problema differenziale,dopo la trasformazione è diventato un un problema ODE:

ut(ω, t) = −µω2u(ω, t)

Tale equazione differenziale ammette come soluzione:

u(ω, t) = c(ω)e−µω2t

260

Page 279: Appunti del corso di Metodi analitici e numerici...Politecnico di Milano Scuola di Ingegneria Industriale e dell’Informazione Corso di studi in Ingegneria Meccanica Appunti del corso

A questo punto si applicano le condizioni iniziali:

u(ω, 0) = ϕ(ω) = c(ω) ω ∈ R

Da cui segue che:u(x, t) = ϕ(ω)e−µω2t

Quindi non resta che tornare nel dominio originale: per farlo si considera latrasformata della soluzione u(x, t) come prodotto di due trasformate:

u(x, t) = ϕ(ω)g(ω, t) g(ω, t) = e−µω2t

Si consideri dunque la funzione g: è una trasformata notevole. Per cui si ottiene:

g(x, t) = F−1[e−µω2t

](x, t) =

1√4πµt

e−x2

4µt

Questo risultato ha una particolare importanza, tanto che la funzione g(x, t) èspesso chiamata anche soluzione fondamentale dell’equazione di diffusione:

Γµ(x, t) =1√4πµt

e−x2

4µt

L’ultimissimo passaggio consiste nello sfruttare il prodotto di convoluzione, pertrovare la soluzione:

u(x, t) = (ϕ ∗ Γµ)(x, t) =

∫Rϕ(x)Γµ(x− s, t)ds

Esempio 13.3.2 (Delta di Dirac). Sia ϕ(x) = δ0(x). Allora la soluzione è pari a:

u(x, t) = (ϕ ∗ Γµ)(x, t) =1√4πµt

∫Rδ0(s)e

− (x−s)2

4πµt ds = Γµ(x, t)

Inoltre è importante notare che:

limt→0

Γµ(x, t) = δ0(x)

261

Page 280: Appunti del corso di Metodi analitici e numerici...Politecnico di Milano Scuola di Ingegneria Industriale e dell’Informazione Corso di studi in Ingegneria Meccanica Appunti del corso

Capitolo 14

Trasformata di Laplace

La trasformata di Laplace è una sorta di generalizzazione della trasformata diFourier; anche in questo caso è di tipo integrale e serve principalmente per larisoluzione di problemi ODE (quindi particolarmente utile per sistemi dinamici egestione di segnali).

Definizione 14.0.1 (Trasformata unilaterale di Laplace). La trasformata unila-terale di Laplace è definita come:

F (s) = L[f(t)

](s) =

∫ +∞

0

f(t)e−stdt

Dalla definizione emergono importanti riflessioni:

1. La trasformata di Laplace è detta unilaterale perché è definita su un inter-vallo che va da zero a +∞, quindi solo la parte destra di un normale pianocartesiano.

2. La trasformata di Fourier (Cap. 13) è un caso particolare della trasformatadi Laplace, cioè quando:

s = iω

3. La trasformata F (s) è definita per valori di s tali per cui è definito l’integrale.

4. È importante notare che la variabile s è sempre complessa:

s = σ + iω s ∈ C

262

Page 281: Appunti del corso di Metodi analitici e numerici...Politecnico di Milano Scuola di Ingegneria Industriale e dell’Informazione Corso di studi in Ingegneria Meccanica Appunti del corso

Definizione 14.0.2 (Trasformata di Laplace inversa). Data una trasformata F (s),la sua inversa è:

f(t) = L −1[F (s)

](t) =

1

2πilim

T→+∞

∫ γ+iT

γ−iT

F (s)estds

Importantissimo notare che l’integrale della trasformata inversa è un integralecomplesso, quindi deve essere risolto in maniera non convenzionale. Negli esercizimai usare tale formula, ma sfruttare sempre le trasformate notevoli.

14.1 Proprietà trasformata di Laplace

Prima di enunciare le proprietà della trasformata di Laplace è bene chiedersiquando e se esiste.

Teorema 14.1.1 (Esistenza trasformata di Laplace). Sia f(t) una funzione avariabile reale, tale che f(t) : [a, b] −→ R sia continua a tratti su tutto l’intervallo,tranne in un numero finito di punti, dove ammette discontinuità a di prima specie(salto). Se inoltre:

• f(t) è continua a tratti in [0, A] ∀A > 0;

• ∃M,α > 0∣∣ |f(t)| ≤ Meαt ∀ t ∈ [0, T ] ∀T > 0

allora esiste la trasformata di Laplace della funzione f(t):

F (s) = L[f(t)

](s) ∀ s > α

Esempio 14.1.1 (Trasformata di una costante). Si consideri la funzione realef(t) = 1. Prima di tutto bisogna verificare che tutte le condizioni del Teo. 14.1.1siano rispettate. In questo caso non ci sono particolari problemi, visto che f(t) ∈C∞(R) e che |f(t)| ≤ 1 · e0t, da cui si ricava che M = 1 e α = 0. Quindi, si puòprocedere con il calcolo della trasformata:

F (s) =

∫ +∞

0

1e−stdt = −1

s

∫ +∞

0

−se−stdt = −1

s

∣∣∣∣+∞

0

=1

s

263

Page 282: Appunti del corso di Metodi analitici e numerici...Politecnico di Milano Scuola di Ingegneria Industriale e dell’Informazione Corso di studi in Ingegneria Meccanica Appunti del corso

1

t

f(t)

(a) Funzione originale.

s

F (s)

(b) Trasformata di Laplace.

Figura 14.1: Esempio della trasformata di Laplace della funzione f(x) = 1.

at

f(t)

(a) Funzione originale.

a

s

F (s)

(b) Trasformata di Laplace.

Figura 14.2: Esempio della trasformata di Laplace della funzione f(x) = eat.

In Fig. 14.1 è possibile avere un confronto tra la funzione originale e la suatrasformata.

Esempio 14.1.2 (Trasformata dell’esponenziale). Si consideri la funzione realef(t) = eat. Ancora la funzione reale f(t) ∈ C∞(R). Tuttavia questa volta si ècostretti a imporre una condizione ulteriore: M = 1 e α = a. La trasformata diLaplace risulta dunque:

F (s) =

∫ +∞

0

eate−stdt =

∫ +∞

0

e(a−s)tdt =1

s− acon s > a

264

Page 283: Appunti del corso di Metodi analitici e numerici...Politecnico di Milano Scuola di Ingegneria Industriale e dell’Informazione Corso di studi in Ingegneria Meccanica Appunti del corso

In Fig. 14.2 è possibile avere un confronto tra la funzione originale e la suatrasformata.

Esempio 14.1.3 (Funzione che non ammette trasformata). Si consideri la funzio-ne f(t) = ex

2 . A prima vista sembra essere molto facile da trasformare, ma puressendo f ∈ C∞(R) si ha che:

∄α,M∣∣ |f(t)| ≤ Meαt

Pertanto le ipotesi del Teo. 14.1.1 non sono verificate e quindi non è possibiletrasformare la funzione.

Teorema 14.1.2 (Proprietà della linearità). Date due funzioni f, g tali che am-mettano la trasformata di Laplace, ∀ a, b ∈ R:

L[af(t) + bg(t)

](s) = aL

[f(t)

](s) + bL

[g(t)

](s)

L −1[aF (s) + bG(s)

](t) = aL −1

[F (s)

](t) + bL −1

[G(s)

](t)

Teorema 14.1.3 (Estremi della trasformata). Data una funzione f(t), che am-metta la trasformata di Laplace F (s) si ha che:

limt→0+

f(t) = lims→+∞

sF (s)

limt→+∞

f(t) = lims→0+

sF (s)

Teorema 14.1.4 (Limitatezza della trasformata). Data una funzione f(t), cheammette la trasformata di Laplace F (s) e se |f(t)| ≤ Meαt allora:

|F (s)| ≤ M

s− as > a

Dimostrazione 14.1.1 (Limitatezza della trasformata).

F (s) =

∫ +∞

0

f(t)e−stdt

|F (s)| <∫ +∞

0

|f(t)|e−stdt ≤ M

∫ +∞

0

e(a−s)tdt =M

s− a

265

Page 284: Appunti del corso di Metodi analitici e numerici...Politecnico di Milano Scuola di Ingegneria Industriale e dell’Informazione Corso di studi in Ingegneria Meccanica Appunti del corso

Tabella 14.1: Trasformate di Laplace delle funzioni più comuni (a, b, α ∈ R)

f(t) L[f(t)

](s)

11

s

eat1

s− a

tnn!

sn+1

tneatn!

(s− a)n+1

eat − ebta− b

(s− a)(s− b)

sin(αt)α

α2 + s2

cos(αt)s

α2 + s2

sinh(αt)α

s2 − α2

cosh(αt)s

s2 − α2

δ0(t− a) e−as

H(t− a)e−as

s∫ t

0

f(τ)dτ1

sL[f(t)

](s)

1

tf(t)

∫ +∞

s

F (σ)dσ

tnf(t) (−1)ndn

dsn[F (s)

]

266

Page 285: Appunti del corso di Metodi analitici e numerici...Politecnico di Milano Scuola di Ingegneria Industriale e dell’Informazione Corso di studi in Ingegneria Meccanica Appunti del corso

Teorema 14.1.5 (Primo teorema di Shift). Data una funzione f(t), che ammettela trasformata di Laplace F (s), si ha che:

L[eatf(t)

](s) = F (s− a)

L −1[F (s− a)

](t) = eatf(t)

Teorema 14.1.6 (Secondo teorema di Shift). Data una funzione f(t), che am-mette la trasformata di Laplace F (s), si ha che:

L[H(t− a)f(t− a)

](s) = e−asF (s)

L −1[e−asF (s)

](t) = H(t− a)f(t− a)

Definizione 14.1.1 (Convoluzione finita). Date due funzioni f, g, la loro convo-luzione finita è data da:

(f ∗ g)(t) =∫ t

0

f(t− u)g(u)du

Teorema 14.1.7 (Teorema di convoluzione). Date due funzioni f, g e le lorotrasformate di Laplace F (s) e G(s):

L[f(t)g(t)

](s) = F (s)G(s)

L −1[F (s)G(s)

](t) = (f ∗ g)(t)

All’interno dell’ambiente MATLAB® è disponibile una funzione per il calcolodella trasformata di Laplace di una funzione simbolica:

F = laplace(f, t, s)

Dove f è la funzione originale, F la sua trasformata, t la variabile rispetto a cui siesegue la trasformazione e infine s la variabile in cui verrà scritta la trasformata.Analogamente è disponibile anche la funzione:

f = ilaplace(F, s, t)

che permette di calcolare la funzione antitrasformata.

267

Page 286: Appunti del corso di Metodi analitici e numerici...Politecnico di Milano Scuola di Ingegneria Industriale e dell’Informazione Corso di studi in Ingegneria Meccanica Appunti del corso

14.2 Trasformata di Laplace per ODE

Prima di applicare la trasformata di Laplace per risolvere dei problemi differenzialiordinari e bene chiedersi come si comporta l’operatore quando si trasforma unafunzione derivata.

Teorema 14.2.1 (Trasformata della derivata). Sia y(t) ∈ C0(0,+∞) e y′(t)

continua a tratti su (0, k)∀ k > 0; se:

limk→+∞

y(t)e−sk = 0

allora:L[y′(t)

](s) = sL

[y(t)

](s)− y(0) = sY (s)− y(0)

Ovviamente tale ragionamento può essere esteso alla derivata seconda:

L[y′′(t)

](s) = s2Y (s)− sy(0)− y′(0)

Dimostrazione 14.2.1 (Trasformata della derivata). Si consideri la definizionedella trasformata di Laplace (Def. 14.0.1) applicata sulla derivata della funzioney′(t):

L[y′(t)

](s) =

∫ +∞

0

y′(t)e−stdt

PP= y(t)e−st

∣∣∣∣+∞

0

−∫ +∞

0

y(t)d

dt

[e−st

]dt

= limk→+∞

y(k)e−kt − y(0) + s

∫ +∞

0

y(t)e−stdt

= −y(0) + sL[y(t)

](s)

Funzione di trasferimento di un sistema dinamico

Se si ha un sistema dinamico in origine in quiete e successivamente perturbatoda una forzante si osserva che la risposta dipende da una funzione intrinseca alsistema.

268

Page 287: Appunti del corso di Metodi analitici e numerici...Politecnico di Milano Scuola di Ingegneria Industriale e dell’Informazione Corso di studi in Ingegneria Meccanica Appunti del corso

f(t) Sistema y(x)

F (s) Sistema Laplace Y (s) = T (s)F (s)

L

y′(t) = dydt(t) ?

Yd = sY T (s)

L −1

Figura 14.3: Schema concettuale della procedura per la risoluzione di ODE tramite l’u-so della trasformata di Laplace. Da notare come l’operazione di derivazione si trasformiin semplice problema algebrico.

Tale funzione T (s) è anche detta funzione di trasferimento e permette dicollegare le cause (di solito forze) agli effetti provocati (ad esempio gli spostamenti):

y(t) = L −1[T (s)F (s)

](t) =

(L −1

[T (s)

]∗ f)(t)

Come si può facilmente intuire dalla formula, la risposta del sistema y(t) a unforzamento imposto f(t) sarà data dalla convoluzione dell’antitrasformata dellafunzione di trasferimento con la funzione f(t).

Cosa ben più importante, l’effetto del sistema dinamico all’interno del dominiodi Laplace, è equivalente a una semplice moltiplicazione.

La funzione di trasferimento può sempre essere riscritta come:

T (s) = ρN(s)

D(s)=

∏i(s− zi)∏j(s− pi)

dove zi sono detti zeri della funzione e i pi sono chiamati poli. A seconda deivalori degli zeri e dei poli è possibile ricavare la stabilità di un sistema dinamico;infatti se:

ℜpj < 0 ∀ j

allora il sistema dinamico risulta assolutamente stabile.Al fine di risolvere problemi di Cauchy complessi con pochi e semplici passaggi

si fa uso della trasformata di Laplace. In particolare, si trasforma l’intero sistemanel dominio di Laplace, si eseguono i calcoli e infine si cerca di ritornare allasoluzione nel dominio temporale: in Fig. 14.3 è possibile vedere lo schema risolutivo

269

Page 288: Appunti del corso di Metodi analitici e numerici...Politecnico di Milano Scuola di Ingegneria Industriale e dell’Informazione Corso di studi in Ingegneria Meccanica Appunti del corso

riassunto.

Esempio 14.2.1 (Risoluzione di un problema di Cauchy). Si consideri il seguenteproblema di Cauchy: y′′(t) + 2y′(t)− 4y(t) = 1

y(0) = y′(0) = 1

Pezzo a pezzo si trasformano tutti i componenti dell’equazione differenziale:

L[y′′(t)

](s) = s2Y (s)− y′(0)− sy(0) = s2Y (s)− s− 1

L[2y′(t)

](s) = 2sY (s)− 2y(0) = 2sY (s)− 2

L[− 4y(t)

](s) = −4Y (s)

L[1](s) =

1

s

Rimettendo insieme i pezzi, si ha che:

s2Y (s) + 2sY (s)− 4Y (s) =1

s+ 3s+ 1

Ricavando Y (s) si ottiene:

Y (s) =1

s(s2 + 2s− 4)+

3s+ 1

s2 + 2s− 4

A questo punto e sufficiente antitrasformare. Sfruttando le trasformate notevoli esvolgendo i calcoli si ha che:

y(t) =13

4e−t

(cosh(

√5t)− 7

√5 sinh(

√5t)

65

)− 1

4

270

Page 289: Appunti del corso di Metodi analitici e numerici...Politecnico di Milano Scuola di Ingegneria Industriale e dell’Informazione Corso di studi in Ingegneria Meccanica Appunti del corso

Appendice A

Codici di MATLAB®

In questa appendice sono stati implementati i principali algoritmi analizzati neltesto scritti in codice MATLAB® .

A.1 Risoluzione di sistemi lineari

In questa prima sezione sono implementati gli algoritmi per la risoluzione deisistemi lineari.

Codice A.1: Algoritmo della sostituzione in avanti per le matrici triangoli inferiori.

1 function [y] = fwsub(L, b)

23 % y vettore soluzione del sistema

4 % L matrice triangolare inferiore

5 % b vettore termini noti

67 [m , n] = size(L);

89 % Verifiche sui dati

1011 flag = 0;

12 for ii = 1:n

13 for jj = (ii + 1):n

271

Page 290: Appunti del corso di Metodi analitici e numerici...Politecnico di Milano Scuola di Ingegneria Industriale e dell’Informazione Corso di studi in Ingegneria Meccanica Appunti del corso

14 if L(ii, jj) ~= 0

15 flag = 1;

16 end

17 end

18 end

1920 assert(prod(diag(L)) ~= 0, 'Matrice singolare')

21 assert(m == n, 'Matrice non quadrata')

22 assert(n == length(b), 'Dimensioni matrice e vettore non consistenti

')

23 assert(flag == 0, 'Matrice non triangolare inferiore')

2425 % Algoritmo

2627 y = zeros(n, 1);

28 y(1) = b(1)/L(1, 1);

2930 for ii = 2:n

31 y(ii) = (b(ii) − L(ii, 1:(n − 1))*y(1:(n − 1))) / L(ii, ii);

32 end

3334 end

Codice A.2: Algoritmo della sostituzione all’indietro per le matrici triangoli superiori.

1 function [x] = bwsub(U, y)

23 % x vettore soluzione del sistema

4 % U matrice triangolare superiore

5 % b vettore termini noti

67 [m , n] = size(U);

89 % Verifiche sui dati

272

Page 291: Appunti del corso di Metodi analitici e numerici...Politecnico di Milano Scuola di Ingegneria Industriale e dell’Informazione Corso di studi in Ingegneria Meccanica Appunti del corso

1011 flag = 0;

12 for ii = 1:n

13 for jj = 1:(ii − 1)

14 if U(ii, jj) ~= 0

15 flag = 1;

16 end

17 end

18 end

1920 assert(prod(diag(U)) ~= 0, 'Matrice singolare')

21 assert(m == n, 'Matrice non quadrata')

22 assert(n == length(y), 'Dimensioni matrice e vettore non consistenti

')

23 assert(flag == 0, 'Matrice non triangolare superiore')

2425 % Algoritmo

2627 x = zeros(n, 1);

28 x(n) = y(n)/U(n, n);

2930 for ii = (n − 1):−1:131 x(ii) = (y(ii) − U(ii, (ii + 1):n)*x((ii + 1):n)) / U(ii, ii);

32 end

3334 end

Codice A.3: Metodo del gradiente.

1 function [x, niter, res, incr] = gradiente (A, b, x0, maxiter, toll)

23 % A matrice del sistema

4 % b vettore dei termini noti

5 % maxiter numero massimo di iterazioni

273

Page 292: Appunti del corso di Metodi analitici e numerici...Politecnico di Milano Scuola di Ingegneria Industriale e dell’Informazione Corso di studi in Ingegneria Meccanica Appunti del corso

6 % toll tollerenza sulla soluzione

7 % x soluzione del sistema

8 % niter numero delle iterazioni eseguite

9 % res residuo normalizzato

10 % incr incrementi relativi

1112 [n, m] = size(A);

1314 % Controllo sui dati iniziali

1516 assert(m == n, 'Matrice non quadrata')

17 assert(all(all(A == A.')), 'Matrice non simmetrica')

18 assert(all(eig(A) > 0), 'Matrice non definta positiva')

1920 assert(n == length(b), 'Dimensioni vettore termini noti non valido')

21 assert(n == length(x0), 'Dimensioni prima iterata non valide')

2223 % Algoritmo

2425 x = x0;

26 res = zeros(maxiter, 1);

27 incr = zeros(maxiter, 1);

2829 r = b − A*x;

3031 for ii = 1:maxiter

32 alpha = (r.'*r)/(r.'*A*r);

33 incr(ii) = norm(alpha*r)/norm(x);

34 x = x + alpha*r;

35 r = b − A*x;

36 res(ii) = norm(r)/norm(b);

37 if res(ii) < toll

38 niter = ii;

274

Page 293: Appunti del corso di Metodi analitici e numerici...Politecnico di Milano Scuola di Ingegneria Industriale e dell’Informazione Corso di studi in Ingegneria Meccanica Appunti del corso

39 return

40 end

41 end

4243 warning('Raggiunto numero massimo iterazioni')

44 niter = maxiter;

4546 end

Codice A.4: Metodo del gradiente coniugato.

1 function [x, niter, res, incr] = gradientecon(A, b, x0, maxiter,

toll)

23 % A matrice del sistema

4 % b vettore dei termini noti

5 % maxiter numero massimo di iterazioni

6 % toll tollerenza sulla soluzione

7 % x soluzione del sistema

8 % niter numero delle iterazioni eseguite

9 % res residuo normalizzato

10 % incr incrementi relativi

1112 [n, m] = size(A);

1314 % Controllo sui dati iniziali

1516 assert(m == n, 'Matrice non quadrata')

17 assert(all(all(A == A.')), 'Matrice non simmetrica')

18 assert(all(eig(A) > 0), 'Matrice non definta positiva')

1920 assert(n == length(b), 'Dimensioni vettore termini noti non valido')

21 assert(n == length(x0), 'Dimensioni prima iterata non valide')

22

275

Page 294: Appunti del corso di Metodi analitici e numerici...Politecnico di Milano Scuola di Ingegneria Industriale e dell’Informazione Corso di studi in Ingegneria Meccanica Appunti del corso

23 % Algoritmo

2425 x = x0;

26 res = zeros(maxiter, 1);

27 incr = zeros(maxiter, 1);

2829 r = b − A*x;

30 p = r;

3132 for ii = 1:maxiter

33 alpha = (p.'*r)/(p.'*A*p);

34 incr(ii) = norm(alpha*p)/norm(x);

35 x = x + alpha*p;

36 r = b − A*x;

37 res(ii) = norm(r)/norm(b);

38 beta = (p.'*A*r)/(p.'*A*p);

39 p = r − beta*p;

40 if res(ii) < toll

41 niter = ii;

42 return

43 end

44 end

4546 warning('Raggiunto numero massimo iterazioni')

47 niter = maxiter;

4849 end

A.2 Equazioni non lineari

In questa sezione sono implementati gli algoritmi per la risoluzione dei equazionie sistemi non lineari.

276

Page 295: Appunti del corso di Metodi analitici e numerici...Politecnico di Milano Scuola di Ingegneria Industriale e dell’Informazione Corso di studi in Ingegneria Meccanica Appunti del corso

Codice A.5: Metodo di newton semplice.

1 function [xvect, it] = newton(x0, nmax, toll, fun, dfun)

23 % x0 punto iniziale

4 % nmax numero massimo di iterazioni

5 % toll tollerenza

6 % fun funzione da azzerare

7 % dfun derivata funzione

8 % xvect vettore contentente tutte le iterate

9 % it numero di iterazioni eseguite

1011 xvect = zeros(nmax, 1);

12 xvect(1) = x0 − fun(x0)/dfun(x0);

1314 for it = 2:nmax

15 xvect(it) = xvect(it − 1) − fun(xvect(it − 1))/dfun(xvect(it −1));

16 if abs(xvect(it) − xvect(it − 1)) < toll

17 return

18 end

19 end

2021 warning('Raggiunto numero massimo di iterazioni')

2223 end

Codice A.6: Metodo di newton modificato.

1 function [xvect, it] = newtonmod(x0, nmax, toll, fun, dfun, mol)

23 % x0 punto iniziale

4 % nmax numero massimo di iterazioni

5 % toll tollerenza

6 % fun funzione da azzerare

277

Page 296: Appunti del corso di Metodi analitici e numerici...Politecnico di Milano Scuola di Ingegneria Industriale e dell’Informazione Corso di studi in Ingegneria Meccanica Appunti del corso

7 % dfun derivata funzione

8 % mol molteplictà zeri

9 % xvect vettore contentente tutte le iterate

10 % it numero di iterazioni eseguite

1112 xvect = zeros(nmax, 1);

13 xvect(1) = x0 − mol*fun(x0)/dfun(x0);

1415 for it = 2:nmax

16 xvect(it) = xvect(it − 1) − mol*fun(xvect(it − 1))/dfun(xvect(it

− 1));

17 if abs(xvect(it) − xvect(it − 1)) < toll

18 return

19 end

20 end

2122 warning('Raggiunto numero massimo di iterazioni')

2324 end

Codice A.7: Metodo di newton per sistemi di equazioni non lineari.

1 function [x, R, niter] = newtonsys(F, JF, x0, tol, nmax)

23 % F funione vettoriale

4 % JF jacobiana di F

5 % x0 iterata iniziale

6 % tol tolleranza

7 % nmax numero di iterazioni massimo

8 % x soluzione

9 % R residuo finale

10 % niter numero di iterazioni

1112 x = x0;

278

Page 297: Appunti del corso di Metodi analitici e numerici...Politecnico di Milano Scuola di Ingegneria Industriale e dell’Informazione Corso di studi in Ingegneria Meccanica Appunti del corso

1314 for niter = 1:nmax

15 delta = − JF(x)\F(x);

16 x = x + delta;

17 if norm(delta) < tol

18 R = delta;

19 return

20 end

21 end

2223 warning('Raggiunto numero di iterazioni massimo')

24 R = delta;

2526 end

A.3 Integrazione numerica

In questa sezione sono implementati gli algoritmi per il calcolo numerico degliintegrali definiti.

Codice A.8: Formula del punto medio composita.

1 function I = pmedcomp(a, b, N, fun)

23 % a, b estremi di integrazione

4 % N numero di sottointervalli

5 % fun funione integranda

6 % I integrale definito

78 x = linspace(a, b, N + 1);

9 h = (b−a)/N;10 x_med = zeros(N, 1);

1112 for ii = 1:N

279

Page 298: Appunti del corso di Metodi analitici e numerici...Politecnico di Milano Scuola di Ingegneria Industriale e dell’Informazione Corso di studi in Ingegneria Meccanica Appunti del corso

13 x_med(ii) = mean([x(ii), x(ii + 1)]);

14 end

1516 I = h*sum(fun(x_med));

1718 end

Codice A.9: Formula dei trapezi composita.

1 function I = trapcomp(a,b,N,fun)

23 % a, b estremi di integrazione

4 % N numero di sottointervalli

5 % fun funione integranda

6 % I integrale definito

78 x = linspace(a, b, N + 1);

9 h = (b − a)/N;

1011 I = h*((fun(x(1)) + fun(x(end)))/2 + sum(fun(x(2:(end − 1)))))/6;

1213 end

Codice A.10: Formula di Cavalieri-Simpson composita.

1 function I = simpcomp(a, b, N, fun)

23 % a, b estremi di integrazione

4 % N numero di sottointervalli

5 % fun funione integranda

6 % I integrale definito

78 x = linspace(a, b, N + 1);

9 h = (b − a)/N;

10 somma = 0;

280

Page 299: Appunti del corso di Metodi analitici e numerici...Politecnico di Milano Scuola di Ingegneria Industriale e dell’Informazione Corso di studi in Ingegneria Meccanica Appunti del corso

1112 for ii = 1:N

13 somma = somma + fun(x(ii)) + fun(x(ii + 1)) + 4*fun(mean([x(ii),

x(ii + 1)]));

14 end

1516 I = somma*h/6;

1718 end

A.4 Risoluzione numerica di ODE

In questa sezione sono implementati gli algoritmi per il calcolo numerico delleequazioni differenziali ordinarie.

Codice A.11: Metodo di Eulero avanti.

1 function [t, u] = eulero_avanti(f, a, b, h, y_0)

23 % f handle function del tipo f = @(y, t)

4 % a istante iniziale

5 % b istante finale

6 % h passo

7 % y_0 condizione iniziale

89 t = (a:h:b).'; % Nodi temporali

10 u = zeros(size(t)); % Azzeramento vettore soluzione

1112 u(1) = y_0;

1314 for n = 1:(length(t) − 1)

15 u(n + 1) = u(n) + h*f(u(n), t(n));

16 end

17

281

Page 300: Appunti del corso di Metodi analitici e numerici...Politecnico di Milano Scuola di Ingegneria Industriale e dell’Informazione Corso di studi in Ingegneria Meccanica Appunti del corso

18 end

Codice A.12: Metodo di Eulero indietro.

1 function [t, u] = eulero_indietro(f, a, b, h, y_0)

23 % f handle function del tipo f = @(y, t)

4 % a istante iniziale

5 % b istante finale

6 % h passo

7 % y_0 condizione iniziale

89 t = (a:h:b).'; % Nodi temporali

10 u = zeros(size(t)); % Azzeramento vettore soluzione

1112 u(1) = y_0;

1314 for n = 1:(length(t) − 1)

15 fun = @(w) − w + u(n) + h.*f(w, t(n + 1));

16 u(n + 1) = fsolve(fun, u(n));

17 clc

18 end

1920 end

Codice A.13: Metodo di Crank Nicolson.

1 function [t, u] = crank_nicolson(f, a, b, h, y_0)

23 % f handle function del tipo f = @(y, t)

4 % a istante iniziale

5 % b istante finale

6 % h passo

7 % y_0 condizione iniziale

8

282

Page 301: Appunti del corso di Metodi analitici e numerici...Politecnico di Milano Scuola di Ingegneria Industriale e dell’Informazione Corso di studi in Ingegneria Meccanica Appunti del corso

9 t = (a:h:b).'; % Nodi temporali

10 u = zeros(size(t)); % Azzeramento vettore soluzione

1112 u(1) = y_0;

1314 for n = 1:(length(t) − 1)

15 fun = @(w) − w + u(n) + 0.5*h.*(f(w, t(n + 1)) + f(u(n), t(n)));

16 u(n + 1) = fsolve(fun, u(n));

17 clc

18 end

1920 end

283