Table Of ContentUNIVERSITA' 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])