UNIVERSITA' DEGLI STUDI DI ROMA Facoltà di Ingegneria <( u GIANCARLO PESAMOSCA o::: LIJ ~ :::::> z EkEMENTI DI V) .... <( ANALISI NUMERICA z <( o PARTE I I- z 'LIJ Edizione 1987 ~ L..I.J. LIJ <{ u Cl) o ~ <( Cl) l&J o.. ci EDIZIONI~ l. SISTEMA , © I ROMA La cultura è un bene dell'umanità ([email protected]) La cultura è un bene dell'umanità ([email protected]) Fantomas Ping La cultura è un bene dell'umanità ([email protected]) UNIVERSITA' DEGLI STUDI DI ROMA Facoltà di Ingegneria GIANCARLO PESAMOSCA ELEMENTI DI ANALISI NUMERICA PARTE I Edizione 1987 j EDIZIONI. ~ l:) SISTEMA ROMA La cultura è un bene dell'umanità ([email protected]) Tutti i diritti riservati © Copyright 1971 by Edizioni SISTEMA - Roma Le copie non firmate dall'Autore si ritengono contraffatte ~ 9r!u.t: ,. V•.V•·t-i_,-(1.-f ~ 11SISTEMA11 s.n.c. grafico-editoriale Via Claterna 3 - ROMA - Tel.75.75.4..()4 La cultura è un bene dell'umanità ([email protected]) CAPITOLO I INTERPOLAZIONE POLINOMINALE 1.1 - ORIGINE E PROPAGAZIONE DEGLI ERRORI ARITMETICI NELLE PROCEDURE DI CALCOLO L'Analisi Numerica studia procedure di calcolo, od algo ritmi, per la soluzione di vari problemi matematici. Chiamere mo algoritmo una successione di operazioni aritmetiche avente lo scopo di risolvere numericamente un determinato problema (ad \es. calcolare le radici di una equazione f(x) =O). Occorre tuttavia tener sempre presente che in ogni procedura di cadco- l 10 che c~involga un numero elevato di operazioni aritm~tiche il risultato finale puo' essere piu' o meno alterato dal L-enome no della propagazione degli errori. Cio puo essere megl 'o com ~reso in base alle considerazioni seguenti: a) i dati iniziali su cui opera la procedura non sono in gene ra le esatti. Si pensi ad esempio a dati g;;ovenienti da misure o da ca'l.~coli precedenti, a dati rileva-ti da tavo è numeriche con n cifre decima· (e quindi aventi un errore lel!:.0,5·10-n derivante dall'arrotondamento sulla n-esima cifra decimale), a La cultura è un bene dell'umanità ([email protected]) 6 dati memorizzati nella parola di un calcolatore elettronico e quindi troncati ad una prefissata cifra binaria. A questo pro- posito, e' bene ricordare che numeri razionali, non periodici in un dato sistema di numerazione, possono diventarlo in un sistema diverso. Ad esempio il numero O, 1 non e' periodico nel sistema decimale ma lo diventa nel sistema binario, in cui si e seri ve O, O 0011 0011 0011 ..... chiaro pertanto che non potra' essere memorizzato ·senza errore nella parola di un cal colatore. b) Gli errori sui dati si propagano attraverso le operazioni ar·itmetiche. Siano x ed y due numeri reali ed x* e y* due valori approssimati noti, con errori rispettivame~te E1 ed E2: X = x"" + E:. Si ha ad esempio per le operazioni di somma e moltiplica- z_i one: X + y = x* + y* + E1 + E2 da cui. risulta come l'errore introdotto sostituendo ai valori veri x y i valori approssimati x* , y* si a Ei + E2 nella somma, e circa x*E2 + y*E1 nella moltiplicazione. e) Le sesse operazioni aritmetiche possono introdurre e,crori nel risu1.tato, a se i dati si presumono esatti. Cid accade perche', normalmente, si poirta,n-o a-v:aiiti i ca ali ,..stempTe con lo stesso numero di cifre, eliminando di conseguenza gruppi di ci fre meno significative. Ad esempio, lavorando con 4 cifre si ha: La cultura è un bene dell'umanità ([email protected]) 7 o 1 : 3 : 3333 I che è una approssimazione per difetto del risultato esatto o,_3. Nel seguit·o, chiameremo 11errori di arrotondamento" (round off errors) gli errori sui dati iniziali, e gli errori da essi derivati per propagazione attraverso le operazioni aritmetiche. In linea teorica l'errore di arrotondamento propagato in una procedura di calcolo potrebbe essere maggiorato utilizzando le formule presentate nel punto b): cio' pero' non e' materialmente possibile per procedure coinvolgenti molti dati e molte opera zioni aritmetiche. Esiste (e talvolta pud essere di utilit~) una teoria sta tistica della propagazione degli errori, la quale ci dice ad esempio che è maggiormente probabile che l'errore di arroton damento sulla somma di n termini sia vicino allo zero (in quanto i singoli errori E. J. = 1 n possono avere segno J ' diverso, e quindi compensarsi a vicenda). Nei problemi di calcolo reali puo interessare l'error~ assoluto E oppure l'errore relativo Er, definiti nel modo s ~ guente: \E valore vero - valore calcolato Er E/valore vero Ad esempio, nel caso di una singola operazione di molti plicazione si ha: x*E2+y*E.1 E2 E1 E ::;: + r x*y* y* x* e L ro_J>agaz ione degli eri:ori di arrotondamento ha un ef fetto estremamentè pericoloso quando è accompagnato dal feno meno della perdita di cifre per sottrazione, che si presenta nella sottrazione di 2 numeri aventi un gruppo di cifre piu' significative uguali. La cultura è un bene dell'umanità ([email protected]) 8 Consideriamo in proposito il seguente esempio: 1 1 R (1,5082 - 1,5075) · O, 0007 0, 07 0,01 0,01 Se i dati di partenza sono affetti da un errore di arrotonda mento Jel :::.0,5 · 10-4 , la differenza 1,5082 - 1,5075 avra un errore assoluto IEI :::. J E1J +I E'.21 = 10-4 ma un errore relativo , !Eri $.10-4/7·10-4 =1/7 cioe' molto elevato. La perdita di cifre per sottrazione porta dunque un forte aumento dell ' errore relativo. Dall'esempio si nota anche come la successiva divisione per 0,01 (od una moltiplicazione per 100, il che e' lo stesso) porti ad uua moltiplicazione per 100 dell ' errore assoluto. Oltre agli errori aritmetici ora co11siderati, molte pro cedure di calcolo dell'Analisi Numerica presentano un altro tipo di errore (che chiameremo a seconda dei casi di discretiz zazione, di troncamento, ecc.) dovuto al fatto che la procedura stessa e' di per se' approssimata nei confronti del risultato che si \"UO 1 ottenere. Come esempio, si puo' ci tare i 1 caso di un a funzione f(x) sviluppabile l Il f o rmu 1 a di Taylor in un inter- vallo [a' bJ. Se X Q ed X appartengono ad [a' b] si po tra valutare la funzione mediante il polinomio n (X - Xo) ( n ) f(~ ) f(xo) + (x - x 0) f' + n1 f (X o) commett.endo pero' un errore di approssimazione, caratteristico della formula, dato da n+l (X - Xo {B. e:-ompreso ( n + 1 ) !. tra xo e x) Un algoritmo s1 dice instabile se gli errori <di arroton damento od altro) s1 propagano attraverso i calcoli, aumentando La cultura è un bene dell'umanità ([email protected]) 9 progressivamente in valore assoluto. Questo fenomeno è abba stanza frequente e pud risultare molto pericoloso, specie nel le procedure iterative. Il fenomeno della instabilit~ di una procedura pud essere connesso con il condizionamento del problema che . si vuol ri &olvere. Per chiarire questo concetto, consideriamo l'esempio dato dal problema seguente: !y Il - y I - 2y = Q (1) y(O) = 1/3 y'(O) 1/3 L'integrale generale dell'equazione differenziale è y(x) = c e2x + c e-x, e la soluzione particolare che soddisfa alle 1 2 condizioni iniziali imposte ~ y(x ) =O e2x + 1/3·e-x=1/3 e-x C2 =1 /3) (1 I) E' evidente che l'effetto di un arrotondamento sui dati iniziali fara' si che la soluzione esatta sia y(x) = c e2x + c e-x, 1 2 con c e c non piu' esattamente uguali a O ed 1/3. 1 2 Pertanto, qualsiasi procedura ~celta per la soluzione nu merica provocltera' alla lunga una prevalenza del termine c1te2x 1ìispetto all'esponenziale decrescente e-x, e quindi dell'er rore rispetto alla vera soluzione. Problemi del tipo considerato, in cui cioè piccole varia zioni sui dati (ad esempio dovute ad errori di arrotondamento) provocano forti variazioni nei risultati, sono detti in Analisi Numerica mal condizionati. Per questi problemi, qualsiasi procedura num·eFica risolu tiva risultera' instab.ile; esistono tuttavia procedure instabili anche per problemi ben condizionati. La cultura è un bene dell'umanità ([email protected])