METODI NUMERICI - II canale (A.A )

Documenti analoghi
Corso di Laurea in Ingegneria Informatica Analisi Numerica

Introduzione al MATLAB c Parte 2

Corso di Calcolo Numerico

Corso di Matematica per la Chimica

Analisi dei segnali nel dominio della frequenza

Syllabus: argomenti di Matematica delle prove di valutazione

Il programma OCTAVE per l insegnamento dell algebra lineare nella Scuola Secondaria p. 1

CORSO DI STATISTICA (parte 1) - ESERCITAZIONE 5

MATEMATICA GENERALE Prova d esame del 4 giugno FILA A

Introduzione allo Scilab Parte 3: funzioni; vettori.

VBA è un linguaggio di scripting derivato da Visual Basic, da cui prende il nome. Come ogni linguaggio ha le sue regole.

R. Bevilacqua O. Menchi APPUNTI DI CALCOLO NUMERICO

Il calcolatore. Architettura di un calcolatore (Hardware)

EQUAZIONI non LINEARI

SESSIONE ORDINARIA 2007 CORSO DI ORDINAMENTO SCUOLE ITALIANE ALL ESTERO - AMERICHE

Integrazione numerica

Laboratorio teorico-pratico per la preparazione alle gare di matematica

Sistemi Web per il turismo - lezione 3 -

CAPITOLO 16 SUCCESSIONI E SERIE DI FUNZIONI

Richiami su norma di un vettore e distanza, intorni sferici in R n, insiemi aperti, chiusi, limitati e illimitati.

Appunti del corso di Informatica 1 (IN110 Fondamenti) 3 Modelli di calcolo

Appunti sul corso di Complementi di Matematica - prof. B.Bacchelli Equazioni differenziali lineari omogenee a coefficienti costanti.

NUMERI COMPLESSI. Test di autovalutazione

sezioni incluso Espandi tutto 0. Elementi di matematica elementare (parzialmente incluso) Sezione 0.1: I numeri reali Sezione 0.2: Regole algebriche.

EQUAZIONI DIFFERENZIALI Esercizi svolti. y = xy. y(2) = 1.

Spazi lineari - PARTE II - Felice Iavernaro. Dipartimento di Matematica Università di Bari. 9 e 16 Marzo 2007

Metodi numerici per la risoluzione di equazioni. Equazioni differenziali ordinarie

Programma definitivo Analisi Matematica 2 - a.a Corso di Laurea Triennale in Ingegneria Civile (ICI)

Lezione 8. La macchina universale

modulo A1.1 modulo A1.2 livello A1 modulo A2.1 modulo A2.2 matematica livello A2 livello A3

Corso di Matematica per CTF Appello 15/12/2010

Pre Test Matematica

Richiami. Esercizio 1.1. La radiazione elettromagnetica del corpo nero ha la seguente densità di energia per unità di frequenza

Esercitazioni di Reti Logiche. Lezione 1 Rappresentazione dell'informazione. Zeynep KIZILTAN zkiziltan@deis.unibo.it

Informatica Teorica. Macchine a registri

Le aree dell informatica

Piano di lavoro di Matematica

Condizionamento del problema

Generazione di Numeri Casuali- Parte 2

Interpolazione ed approssimazione di funzioni

ISTITUTO D'ISTRUZIONE SUPERIORE A. MOTTI

Offerta formativa 2012/2013

Liceo Marie Curie (Meda) Scientifico Classico Linguistico PROGRAMMAZIONE DISCIPLINARE PER COMPETENZE

Richiami sulle derivate parziali e definizione di gradiente di una funzione, sulle derivate direzionali. Regola della catena per funzioni composte.

Analisi matematica I (10 CFU, 100 ore) Corso17(gruppoSOV-UCCZ) )

Definizione Dati due insiemi A e B, contenuti nel campo reale R, si definisce funzione reale di variabile reale una legge f : A

EQUAZIONI DIFFERENZIALI Esercizi con soluzione

1 Portofoglio autofinanziante

Documentazione esterna al software matematico sviluppato con MatLab

Le sezioni coniche: parabole e circonferenze.

ESERCIZI SVOLTI Ricerca del dominio di funzioni razionali fratte e irrazionali. novembre 2009

Programma precorso di matematica

Equazione della Circonferenza - Grafico di una Circonferenza - Intersezione tra Circonferenza e Retta

Laboratorio di Programmazione Lezione 1. Cristian Del Fabbro

Esercizio 2 Si consideri la funzione f definita dalle seguenti condizioni: e x. per x 1 f(x) = α x + e 1 per 1 < x

Condizionamento di sistemi lineari.

Università degli Studi di Catania A.A Corso di laurea in Ingegneria Industriale

I appello - 26 Gennaio 2007

TECNICHE DI CONTROLLO

Quesiti di Analisi Matematica A

f(x, y, z) = (x + ky + z, x y + 2z, x + y z) f(x, y, z) = (x + 2y z, x + y z, x + 2y) F (f(x)) = (f(0), f(1), f(2))

Prof.ssa Laura Pagnozzi Prof. Ivano Coccorullo. Calcolo Combinatorio

UNIVERSITA DEGLI STUDI DI PADOVA DIPARTIMENTO DI INGEGNERIA IDRAULICA, MARITTIMA E GEOTECNICA

Facoltà di Dipartimento di Ingegneria Elettrica e dell'informazione anno accademico 2014/15 Registro lezioni del docente SPORTELLI LUIGI

TRAGUARDI PER LO SVILUPPO DELLE COMPETENZE FISSATI DALLE INDICAZIONI NAZIONALI PER IL CURRICOLO 2012 MATEMATICA

Programmazione Matematica classe V A. Finalità

ESAME DI STATO DI LICEO SCIENTIFICO CORSO DI ORDINAMENTO 2004

Capitolo 5: Macchine di Turing e calcolabilitá secondo Turing

COGNOME... NOME... Classe... Data... 1.a Calcolare le seguenti espressioni:

MINISTERO DELL'ISTRUZIONE, DELL'UNIVERSITÀ, DELLA RICERCA SCUOLE ITALIANE ALL ESTERO

Numeri Complessi. 4. Ricordando che, se z è un numero complesso, zz è un numero reale, mettere sotto la forma. z 2 + 2z + 2 = 0. z 2 + 2z + 6 = 0.

Analisi. Calcolo Combinatorio. Ing. Ivano Coccorullo

x (x i ) (x 1, x 2, x 3 ) dx 1 + f x 2 dx 2 + f x 3 dx i x i

SIMULAZIONE TEST ESAME - 1

EQUAZIONI DIFFERENZIALI. 1. Trovare tutte le soluzioni delle equazioni differenziali: (a) x = x 2 log t (d) x = e t x log x (e) y = y2 5y+6

Matematica generale CTF

CALCOLO NUMERICO (C.L. Ing. delle Comunicazioni - AA ) Proff. F. Pitolli, A. Pascarella Progetti

Attenzione: i programmi sono cambiati negli anni. Non tutti gli esercizi nella presente raccolta riguardano argomenti trattati.

Equazioni non lineari

Classificazione Singolarità isolate, Serie di Laurent, Residui, Teorema dei residui e applicazioni

Esempio. Approssimazione con il criterio dei minimi quadrati. Esempio. Esempio. Risultati sperimentali. Interpolazione con spline cubica.

Esercizi del Corso di Statistica. Parte I - Variabili Aleatorie Continue

Definizione unitaria delle coniche

ANALISI MATEMATICA 1 Corso di Ingegneria Gestionale A.A. 2010/11 Docente: Alessandro Morando Esercitazioni: Anna Mambretti

Metodi Stocastici per la Finanza

+ / operatori di confronto (espressioni logiche/predicati) / = > < Pseudo codice. Pseudo codice

UNIVERSITA DEGLI STUDI DI GENOVA Facoltà di Scienze M. F. N.

Diario del corso di Analisi Matematica 1 (a.a. 2015/16)

Strumenti per la Progettazione

Se x* e punto di minimo (locale) per la funzione nell insieme Ω, Ω = { x / g i (x) 0 i I, h j (x)= 0 j J } lo e anche per F(x) = f o (x) + c x x 2

Laboratorio di Ottica, Spettroscopia, Astrofisica

Indice. 1 Introduzione alle Equazioni Differenziali Esempio introduttivo Nomenclatura e Teoremi di Esistenza ed Unicità...

I tre concetti si possono descrivere in modo unitario dicendo che f e iniettiva, suriettiva, biiettiva se e solo se per ogni b B l equazione

Protocollo dei saperi imprescindibili Ordine di scuola: professionale

Fasi di creazione di un programma

MATEMATICA GENERALE Prova d esame del 18 giugno FILA A

(V) (FX) Z 6 è un campo rispetto alle usuali operazioni di somma e prodotto.

Geometria Superiore Esercizi 1 (da consegnare entro... )

SEQUENZE DI NUMERI PSEUDO- CASUALI

Università degli Studi di Roma Tor Vergata. Corso di Laurea in Ingegneria Meccanica

Transcript:

METODI NUMERICI - II canale (A.A. 2007-2008) Cosa èilcalcolo NUMERICO? Prof. F. Pitolli Appunti della prima lezione È quella branca della matematica che fornisce mezzi e metodi per risolvere numericamente, con l aiuto del calcolatore, problemi matematici che nascono in varie discipline: ingegneria, economia, biologia Problema da risolvere Schematizzazione sulla base di ipotesi esemplificative errori inerenti Modello matematico Esempi: Sistemi lineari di grandi dimensioni Integrali complicati Sistemi di equazioni differenziali 2 Metodo numerico errori di troncamento (la scelta èunarte) Algoritmo stabilità Soluzione numerica errori di arrotondamento La soluzione numerica è accettabile solo se si sanno stimare gli errori da cui è affetta.

Errori di arrotondamento - Il sistema di numeri disponibile su un calcolatore è piuttosto primitivo: èunsistema finito di numeri di lunghezza finita, mentrel analisi matematica o la geometria hanno a che fare con numeri infiniti di lunghezza infinita. Analisi Matematica Geometria, Algebra IR: Numeri reali Errori di arrotondamento Analisi Numerica Numeri macchina 4 Errori di arrotondamento - 2 Analisi Matematica π =.4592655897 2=.4425627 Analisi Numerica.4592654.442562 L arrotondamento è la prima fonte di errore: i dati di input, che hanno in generale un numero infinito di cifre, vengono trasformati dal calcolatore, tramite arrotondamento, innumeri macchina, cioè numeri con un numero finito di cifre. 5 Errori di arrotondamento: esempi Numeri reali.75294965.75294966.75294967.75294968.75294969.75294970.7529497.75294972.7529497.75294974 }{{} Arrotondamento Numeri macchina.7529497 6 Errori di arrotondamento - Errore di arrotondamento = Numero reale - Numero macchina Numeri reali Errori di arrotondamento.75294965 +0.5 0 9.75294966 +0.4 0 9.75294967 +0. 0 9.75294968 +0.2 0 9.75294969 +0. 0 9.75294970 +0.0 0 9.7529497 0. 0 9.75294972 0.2 0 9.7529497 0. 0 9.75294974 0.4 0 9 Errore di arrotondamento 0.5 0 9 Se i numeri macchina sono arrotondati alla D esima cifra decimale l errore di arrotondamento è compreso nell intervallo [ 0.5 0 D, +0.5 0 D] 7

Errori di arrotondamento: esempi q (x) =(x ) 7 q 2(x) =x 7 7x 6 +2x 5 5x 4 +5x 2x 2 +7x Dal punto di vista dell algebra le quantità q (x) e q 2 (x) sono identiche. Calcoliamo q (x) e q 2 (x) numericamente nell intervallo [0.9998,.0002] utilizzando una calcolatrice che lavora con 0 cifre significative. 0.5 0.5 Esercizio Calcolare q (x) e q 2 (x) numericamente nell intervallo [0.9998,.0002] utilizzando il calcolatore. Suggerimento: scrivere un semplice programma con un qualsiasi linguaggio di programmazione (BASIC, FORTRAN, C++,.) o in un ambiente software integrato (Derive, Matlab, )..5 x 0 26 0.5 x 0 4 0.5 0 0.5 x q (x) q 2 (x) Valore esatto Errore di arrotondamento 0 0 0 0.000 0 28 0 0 0 28 0 0 8.5 0.9998 0.9999.000.0002.5 0.9998 0.9999.000.0002 Nota: Il calcolatore lavora in genere con 5 cifre significative. 9 Script MATLAB Costruzione dei vettori x, q, q2 x = linspace(0.9998,.0002); q = (x - ).^7; q2 = x.^7-7*x.^6+2*x.^5-5*x.^4+5*x.^-2*x.^2+7*x-; Stampa della tabella format long [x q q2 abs(q -q2 )] Grafici figure() plot(x,q, b ) figure(2) plot(x,q2, r ) Cancellazione numerica Consideriamo l equazione di secondo grado ax 2 + bx + c =0 Dall algebra sappiamo che se Δ=b 2 4ac > 0, l equazione ha 2 soluzioni reali distinte: x = b Δ 2a x 2 = b+ Δ 2a 0

Calcoliamo x e x 2 numericamente con la calcolatrice. a, b, c x x 2 ax 2 + bx + c ax 2 2 + bx 2 + c - - 0 0 4 4.945 0 5 206.4999506.42 0 6 8.9 0 6 206.5 0.002 Calcoliamo ora le soluzioni con le formule x = 2c b+ Δ, x 2 = ax c. a, b, c x x 2 ax 2 + bx + c ax 2 2 + bx 2 + c - - 0 0 4 4.944 0 5 206.49995 0 9.66 0 5 206.5 (macchina) 0.002 Esercizio. Ripetere il calcolo delle radici con la propria calcolatrice e con il calcolatore. Confrontare i risultati ottenuti con quelli dati nelle tabelle. 2 Cosa è successo? Per calcolare x 2 bisogna calcolare la quantità b Δ. Primo caso: a =, b =4,c= ggggggg Δ=2 Secondo caso: a =, b = 206.5,c=0.002 ggggggg Δ = 206.49990 In questa caso b è negativo, quindi bisogna calcolare la differenza tra due numeri molto vicini cancellazione numerica. Script MATLAB Calcolo delle radici di un equazione di II grado Dati di input a = input( a: ); b = input( b: ); c = input( c: ); Calcolo del discriminante Delta = b^2-4*a*c; fprintf( Delta = -0.6g\n,Delta) Calcolo e stampa delle radici (formule standard) x = -(b+sqrt(delta))/(2*a); x2 = -(b-sqrt(delta))/(2*a); fprintf( Radici (formule standard)\n ) fprintf( x = -9.7g\t\t\t x2 = -9.7g\n,x,x2) Calcolo e stampa di a*x^2+b*x+c (formule standard) p = a*x^2+b*x+c; p2 = a*x2^2+b*x2+c; fprintf( a*x^2+b*x+c = -5.0g\t a*x2^2+b*x2+c = -5.0g\n,p,p2) 4 Calcolo e stampa delle radici (formule modificate) x = 2*c/(-b+sqrt(Delta)); x2 = c/(a*x); fprintf( Radici (formule modificate)\n ) fprintf( x = -9.7g\t\t x2 = -9.7g\n,x,x2) Calcolo e stampa di a*x^2+b*x+c (formule standard) p = a*x^2+b*x+c; p2 = a*x2^2+b*x2+c; fprintf( a*x^2+b*x+c = -5.0g\t a*x2^2+b*x2+c = -5.0g\n,p,p2) 5

Algoritmo Stabilità di un algoritmo L algoritmo è una successione di istruzioni, finita e non ambigua, che consente di ottenere risultati numerici a partire dai dati di input. L algoritmo viene implementato su calcolatore tramite un linguaggio di programmazione. Le istruzioni sono operazioni logiche o operazioni aritmetiche date seguendo la sintassi del linguaggio di programmazione scelto. 6 Anche se l errore di arrotondamento è piccolo, la sua propagazione attraverso i calcoli può avere effetti disastrosi. Gli errori di arrotondamento possono venire amplificati durante i calcoli così da rendere la soluzione numerica del tutto inaffidabile. In questo caso si dice che l algoritmo è instabile. Se gli errori di arrotondamento non vengono amplificati durante i calcoli si dice che l algoritmo è stabile. 7 Stabilità di un algoritmo: esempi Modello matematico: I n = e 0 xn e x dx Tramite ( integrazione per parti si ottiene I n = ) e e 0 nxn e x dx = ni n I 0 =0.622055882856 Numero macchina (4 cifre significative) I = I 0 =0.6787944744 I 2 = 2+2!I 0 = 2+2I 0 =0.2642476572 I = + 2!I 0 =4 6I 0 =0.20727664702865 e continuando I n = ni n = n( (n )I n 2 ) = = n + n(n )( (n 2)I n ) = = =+ n ( ) k n(n ) (n k +)+( ) n n!i 0 k= Algoritmo 2.5 2.5 0.5 e x xe x x 2 e x x e x dove I 0 = e 0 ex dx = e 0 0 0. 0.2 0. 0.4 0.5 0.6 0.7 0.8 0.9 x 8 9

I 25 =0 I 26 =.459786800000e + 00 Non è possibile!! 2.5 2.5 0.5 e x xe x 0 0 0. 0.2 0. 0.4 0.5 0.6 0.7 0.8 0.9 x x 2 e x x e x x 25 e x 20 Script MATLAB Calcolo dell integrale In Input n = input( n: ); Dati I0 = -/exp() Calcolo e stampa dell integrale somma = 0; for k=:n- somma = somma + (-)^k*factorial(n)/factorial(n-k); end In = + somma + (-)^n*factorial(n)*i0; fprintf( In = -9.7g\n,In) Nota. In alternativa, la sommatoria può essere calcolata utilizzando le istruzioni vettoriali di Matlab che sono più efficienti dell istruzione for k = :n-; somma=(-).^k.*factorial(n)./factorial(n-k); In = + sum(somma) + (-)^n*factorial(n)*i0; 2 n Algoritmo: I n =+ ( ) k n(n ) (n k +)+( ) n n!i 0 = f(i 0 ) k= Nei calcoli non abbiamo usato il valore esatto I0 =0.622055882856 ma il valore arrotondato I 0 =0.622055882856. Come si propaga nel calcolo di I n l errore di arrotondamento sul dato di input ɛ 0 = I0 I 0? Errore: ɛ n = In I n = f(i0 ) f(i 0)=( ) n n! ɛ }{{} 0 L algoritmo non è stabile Coeff. di amplificazione 22 Un nuovo algoritmo Modifichiamo l algoritmo nel modo seguente: I n = ni n I n = I n n I n 0 per n (comportamento corretto) Algoritmo: I N =0, I k = I k, k = N, N, k Come si propaga l errore di arrotondamento sul dato di input ɛ N = IN I N = IN? ɛ N = I N N ɛ N 2 = I N N I N N = ɛ N N I N N = ɛ N N(N ) A ogni passo l errore iniziale viene ridotto l algoritmo è stabile 2

I 0 =0 I (0) 25 =0.070862625288 I 5 =0 I (5) 25 =0.07086244274 I 0 =0 I (0) 26 =0.057587742504 I 5 =0 I (5) 26 =0.0575842498278 Nota: Si può stimare l errore di arrotondamento sul dato di output tramite la differenza tra due approssimazioni successive: ɛ 25 I 25 (5) I 25 (0) =.8e 009 ɛ 26 I (5) 26 I (0) 26 =4.76e 008 24 Condizionamento di un problema Consideriamo il problema del calcolo di una funzione di una variabile reale f in un generico punto x IR: y = f(x). x f y Vogliamo misurare quale effetto produce nel calcolo di y una perturbazione Δx = x x del dato di input. 25 Sviluppo in serie di Taylor: Δy = y y = f(x ) f(x) =f (x)δx + Errore relativo: Δy y f (x) f(x) Numero di condizionamento del problema: }{{} Δx = f (x)x f(x) C P := Δx x f (x)x f(x) Se C P è grande il problema è malcondizionato, cioè a piccole perturbazioni dei dati di input corrispondono grandi variazioni dei risultati. Se C P è piccolo il problema è ben condizionato. 26 Osservazioni sul condizionamento Il condizionamento non dipende dall algoritmo né dagli errori di arrotondamento. Il condizionamento dipende dal problema edaidati di input: uno stesso problema può essere ben condizionato per alcuni valori dei dati, ma mal condizionato per altri valori.

Condizionamento: esempi La soluzione del sistema lineare èdataday = α 2 = f(α), z = C y = C z = f (α)α y g (α)α z = = 2α 2 α 2 +α 2 α 2 (α 2 ) 000 900 800 700 600 500 400 00 200 y + αz = αy + z = 0 α α 2 = g(α). C y C z α =0.5555 α =0.5554 α =0.9998 α =0.9999 y =.446299444 C y =0.89 z = 0.80494 y =.44606705 z = 0.8045670 y = 2500.250025 z = 2499.749975 y = 5000.2500 C y = 5000 z = 4999.749987 00 0.995 0.9955 0.996 0.9965 0.997 0.9975 0.998 0.9985 0.999 0.9995 α 27 28 Suggerimento. Scrivere un programma per calcolare e graficare C y e C z in funzione di α in un intervallo dato. Utilizzare il programma per calcolare i coefficienti di amplificazioni in diversi intervalli. Cosa succede se l intervallo contiene il valore α =? Riferimenti bibliografici L. Gori, Calcolo Numerico: Cap., Par..,. (fino errore relativo), Esempio.4.2,.5 (escluso caso bidimensionale e condizionamento del calcolo di una radice),.6 (concetto di stabilità ed esempio.6.) 29