Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
vuoi
o PayPal
tutte le volte che vuoi
Analisi Numerica
Metodi e procedure per risolvere problemi in forma numerica
- calcolo scientifico
- calcolo parallelo
Ogni processore risolve una parte per la stessa procedura
La matematica, per ora applicata, ha bisogno di metodi numerici per risolvere i problemi
Metodi per risolvere equazioni non lineari o approssimare funzioni
Burden Faires "Numerical Analysis" Thomson Brooks
Problema Reale → Modello matematico → Problema ben posto
Intendiamo dire che la soluzione è unica allora è ben posto
Modello numerico
Algoritmo → Implementazione su computer → [Output → Analisi Risultati]
Schema risolutivo del modello numerico
Bisogna verificare che i risultati ottenuti siano corretti
Allora i processi potrebbero non essere finiti ma essere iterativi ovvero che continuano dell'input e convergenza alla soluzione
Strumenti elaboratori scientifiche
- linguaggi di programmazione (es. C++)
- excel
- software scientifico (es. Matlab, Maple, Mathematica) ← lo laboratorio di calcolo numerico
Floating Point
Numeri in virgola mobile → Dobbiamo prima studiare
Aritmetica di macchina
ESEMPIO
Crescita della popolazione nel tempo
N(t) La popolazione cresce con velocità proporzionale al suo numero con la costante di proporzionalità
(1) dN(t)/dt = λ N(t) N0 = N(0)
Si tratta di un'equazione differenziale ordinaria. La soluzione di (1) è N(t) = N0eλt
Se introduciamo che vi sia un aumento della popolazione causa immigrazione con velocità/anno costante ν
(2) diventa (2') dN(t)/dt = λ N(t) + ν
La soluzione di (2) ⇒ N(t) = N0eλt + ν/λ (eλt - 1)
(1)
N0 = 100000 ν = 43500
Alla fine dell'anno sarà 156400. Allora quanto vale la velocità di crescita interna della popolazione?
N0eλ·1 + ν/λ (eλ·1 + 1) = 156400
100000
f(λ) = 0 λ?
Equazione non lineare impossibile risolverla in modo esatto! ⇒ Usiamo passare dal modello matematico al modello numerico!
ARITMETICA di MACCHINA
Viene anche chiamata in virgola mobile (floating point)
x ∈ ℝ x = p·rq dove r è la base (di solito 10), q è l'esponente, p è detta mantissa
c-1, c0, cn — si dice che la mantissa è normalizzata
Se c1 ≠ 0
La mantissa di un numero reale x è normalizzata allora
1/r ≤ p ≤ 1
x = 0.3478 · 10-3 r = 10 q = -3 p = 0.3478 (normalizzata)
X = 0,0325 X* = 0,0324 EA = |X-X*| = 0,1 × 10-3 ≤ 1/2 × 10-3
M=3
- Allora X* ha 3 cifre dopo il primo decimale corrette in base 10
- Le cifre significative sono quelle a sinistra della 1a cifra unitaria, cioè sono 2,3,2
I numeri non scritti con mantissa normalizzata sono delle significative le cifre uguali della 2a mantissa
EX X = 0,032045 Y 4 cifre corrette mentre le cifre significative sono 5
X* = 0,0320000
A Se p* nmo numerato m macchina ha m decimali: corretti
(p-p*) < = 1/2 × r-m
|X-X*| < = 1/2 × r-m
B Se vale EA |X-X*| < = 1/2 × r-m => X* ha almeno m cifre significative
dimostrazione della (B)
Dalla (A) |X-X*| < = 1/2 × r-m × |X|
|p q - p* q| < = 1/2 × r-m |p q|
|p - p*| < = 1/2 × r-m |p| < = 1/2 × r-m
Sono significative m cifre della mantissa normalizzata
EX X = 0,0028386 r = 10
X* = 0,0028385
EA = |X-X*| = 0,1 × 106 X* ha m = 6 cifre dopo la virgola corrette
ER = |(X-X*)/X| = 0,1 × 10-6
= 0,203860 × 10-2 => 0,203 - 10-4
NB L'errore assoluto da informare, X numeri di cifre dopo il punto decimale corrette, & lungo l'errore relativo sul numero di cifre significative (= nel conto delle dimensioni del dato)
y = f(x)
ERRORI x dai esatti, x dai perturbati
-
Ec = f(xr), f(x) Errore di calcolazionenumerico
DISCRETIZZAZIONE DEL MODELLO
Et = ft(x)
Errore di tracciamento
-
Eg = ft(x) - fa(x) = Ec + Et + Eta
EQUAZIONI NON LINEARI
Vogliamo risolvere un problema della forma f(x) = 0 dove f(x) più essere una funzione non lineare (nel caso ai 1-dimansionale)
- x ∈ Y
- x ∈ X
- [se qual determinato elemento è nato a: f]
f(x) = 0 un'equazione non lineare
- Equazione algebrica
- Trascendente
MOLTEPLICITÀ DI UNA RADICE
a radice di f(x) = 0, f(x) = (x-a)lfi(x)
moleplicita `
f(x) = (x-a)mfi(x), fi(a)≠0
- f(a) = 0
- s≤l
- m-l(a) ≠ 0
metodi numerici per risolvere = successione ai sempre ai, procedo con l'o piu stime iniziali convergento a xl, x = α
1 separazione delle radici
2 scelta dei metodi
3 studio della convergenza
4 scelta di criteri d'arresto
I. SEPARAZIONE delle RADICI
Si cerca di individuare intervalli in cui ci possa trovare le radici.
II. METODO di BI-SEZIONE
f ∈ C [a,b], f(a)f(b) < 0
- a₁=a, b₁=b, p=a
- i=1
- pi = ai + bi / 2
- If |pi - pi-1| < ε or |f(pi)| < ε Then 10 (= end of procedure)
- If f(ai)f(bi) > 0 then 6 else go to 8
- ai+1 = ai, bi+1 = pi
- i=i+1 go to 3
- ai+1 = pi, bi+1 = bi
- i=i+1 go to 3
- End of procedure => output pi
=> |b₁-a₁| = b-q / 2i-1 i=1,2,...
qi stima per difetto di pi, bi stima per eccesso di pi
TEOREMA
Se f ∈ C (a, b) e f(a)f(b) < 0 => la bisezione genera una successione { pi }i=1∞, che approssima uno zero p di f con |pn - p| ≤ b-a / 2i i > i0, i >
|bn - an| | |b-a| | b-a2424, e p ∈ [anbn], ma pi = bi + ai / 2 punto medio di
= α + (-1)p εkp
p! ≠ (φ) ηk
εk+1 = α - xk+1 = (-1)p+1 εkp
p!
F(p)(ηk) ηk ∈ (ak, xk)
lim (n⟶∞) ηk = α purché xk ⟶ α x⟶ α
lim (k⟶∞) |εk+1|/|εk|p = lim (k⟶∞) p
F(p)(ηk) p
ρ = 1/ ρ!
(F(p)(α) ≠ 0) = C ≠ 0
TEOREMA
Sia F/ F(x) ∈ Cc(a, b) ∀ x ∈ (a, b) e |F'(x) | ℓ
ε δ ta xk+1 = t (xk) k = 0,1,1 con x0 dato e t ∈ (0, 1 )
⇒ |εn| = |α - xn| ≤ βn/1-β |x1 - x0|
DIM
Do e fisso Io. Assumo m > n
|xm - xn| = | xm + xm-1 + xm-2 + ... + xn+1 - xk
= [(xn-xm-1)+(xm-xm-2)+...+ (xm+1 - xn) +... ]
≤ | xm - xm-1 | + | xm-1 - xm-2 | +...+ |xn+1 - xn =
= | F(xm) - F(xm-2) + ... + F(xn) - F(xm-1)
*) |F(xm) - F(xm-2) = F' (
ξm-2) (xm- xm-2) =
≤ F'(
ξm-2) |xm-1 - xm-2 ≤ | F' ξm-1) | F' (xm-2)
|xm-xn| ≤ βm-1 x0 + . + βumn (xn-1 +) ...
βum-1(+βt...- βm+1...
-
¨0