Anteprima
Vedrai una selezione di 7 pagine su 30
Appunti del corso completo di Calcolo numerico Pag. 1 Appunti del corso completo di Calcolo numerico Pag. 2
Anteprima di 7 pagg. su 30.
Scarica il documento per vederlo tutto.
Appunti del corso completo di Calcolo numerico Pag. 6
Anteprima di 7 pagg. su 30.
Scarica il documento per vederlo tutto.
Appunti del corso completo di Calcolo numerico Pag. 11
Anteprima di 7 pagg. su 30.
Scarica il documento per vederlo tutto.
Appunti del corso completo di Calcolo numerico Pag. 16
Anteprima di 7 pagg. su 30.
Scarica il documento per vederlo tutto.
Appunti del corso completo di Calcolo numerico Pag. 21
Anteprima di 7 pagg. su 30.
Scarica il documento per vederlo tutto.
Appunti del corso completo di Calcolo numerico Pag. 26
1 su 30
D/illustrazione/soddisfatti o rimborsati
Disdici quando
vuoi
Acquista con carta
o PayPal
Scarica i documenti
tutte le volte che vuoi
Estratto del documento

CALCOLO NUMERICO

ALGORITMI

Definizione qualitativa: un algoritmo è una sequenza finita di istruzioni che date n variabili di partenza permette di fornire una soluzione a un calcolo risolvibile in un tempo finito.

L’algoritmo quindi, oltre a restituire la soluzione si deve assicurare che darà il messaggio giusto dove quest’ultima dèboreva per permettere al calcolatore di capire.

I METODI sono algoritmi con tempi di risoluzione infiniti.

Gli algoritmi sono scritti nel METALINGUAGGIO, ovvero in una lingua non ambigua.

Un tipo di istruzione che apre l’algoritmo è allo stesso tempo chi lo chiude è quello di assegnazione: N := E, dove E è un’espressione matematica e N è una variabile numerica. Prima si calcola E e poi si memorizza il risultato con il nome della variabile N.

Algoritmo della somma di m numeri:

Dati a1, a2, ..., an, calcoliamo Σ ai = S

S := 0 (inizializzazione della variabile somma)

  • Per i = 1, ..., mS := S + ai

Quando i = 1, S = 0 e S = 0 + a1

Quando i = 2, S = a1 S := a1 + a2

Quando i = m S := a1 + ... + am, S = a1 + ... + am

Per il prodotto di m numeri:P = a1, a2...am

P := 1 (elemento neutro)

  • P := P · ai per i := 1, ..., m

Per calcolare il massimo tra n numeri:

Algoritmo - dati a1, a2, ..., an, calcolo M := max ai

Poi si confrontano gli elementi due a due M := a1

Per i := 1, ..., m (il primo confronto è tra M e A2)

Se M < ai allora M := ai (aggiorna il valore del massimo)

Quando arriva a n ha trovato il massimo.

Queste algoritmi è applicabile a ogni problema simile. Gli algoritmi devono risolvere problemi con dimensione aritmetica.

Entrambi gli errori sono considerati senza segno, ma l'errore assoluto si rifà ad un ordine di grandezza di X, e l’errore relativo normalizza l'errore con la grandezza di X a cui si sta guardando. Quindi, l’errore relativo ci dà l’accuratezza dell’approssimazione.

es: X1 = 10

X2 = 1000

X’1 = 11 X’2 = 10001

L’errore assoluto Ea è 1 in entrambi i casi, ma

Er1 = 1/10 = 10-1

Er2 = 1/1000 = 10-4

RAPPRESENTAZIONE IN VIRGOLA MOBILE NORMALIZZATA (floating point)

Un qualunque numero in forma normalizzata è del tipo:

X = ±a1a2 ... as · 10E

L’ipotesi fondamentale per questo standard è che sia:

0 < ai ≤ 9 e a1 ≠ 0

Grazie a questo standard posso scrivere i numeri in modo univoco.

es: 27,43 in forma normalizzata è 0,2743 · 102

0,00833 in forma normalizzata è 0,833 · 10-3

La sequenza delle cifre dopo la virgola si chiama MANTISSA, e viene moltiplicata per la caratteristica, che nella rappresentazione normalizzata è unica.

esempio: prendo i due numeri X1 = 583,54 e X2 = 0,0058354, tali che X2 = 0,000058350

I due rappresenti in virgola mobile normalizzata:

X1 = 0,58350 · 105 X’1 = 0,58350 · 105

X2 = 0,5835 · 10-2 X’2 = 0,58350 · 10-2

X̄ e X̂ hanno stessa caratteristica e mantissa uguale tranne l’ultima cifra.

Ea1 = Ea2 = 4 · 10-5 —> l’errore assoluto è molto diverso

Er1 = Er2 = 7 · 10-5 —> l’errore relativo è uguale.

La grandezza dell’errore relativo ci dice quante cifre sono accurate nel numero.

Nelle situazioni reali conosciamo X̄ e non X, quindi X̄ deve essere più accurate possibile.

CIFRE SIGNIFICATIVE

Sono le cifre sicuramente attendibili in X̄. Se X e X̄ sono espressi in virgola mobile normalizzata e :

|X - X̄|/|X| ≤ 10-k

allora X̄ approssima X̄ con k cifre significative (certe, esatte, attendibili).

Queste cifre significative possono essere non esatte rispetto a X ma sicuramente attendibili.

La tolleranza negli strumenti è la precisione con cui lo strumento effettua misure.

-54-

Epsilon di macchina

È il piú piccolo numero positivo che sommato a 1 rende un numero diverso da 1.

1⊕εps=1

Se: 0<ε≤εps 1⊕ε≠1

Es: 0,100010⊕0,50010≠0,310; 0,100110⊕010-4 per la regola dell'errore

0,0000510 ⬅ EPS

Proprietà della macchina

  • ⎜(a⊙b)-(a⊗b)⎟≤εm ⎜a⊙b⎟⎜a⊙b⎟
  • ⎜(a/b)-(a⊗b)⎟≤εm (a≠0 b≠0)⎜a/b⎟

valgono solo per i numeri in macchina

  • si esegue il prodotto o la divisione tra le mantisse e si somma (per il prodotto) o si sottraggono (per la divisione) le caratteristiche
  • si ricava il floating del risultato

Esempio: β=10, m=3, metodo del troncamento, εm=10-2

  1. 0,3210 ⊙ 0,302⋅10 110 ⊙ 0,459⋅10 -10,058010⋅10-2
  2. 0,15210⋅10-1 ⊙ 0,210⋅10-1 = 0,210⋅10-10,165⋅10-110 ⬅ 0,1652173⋅10-3

In macchina a causa delle approssimazioni piú succedere che:

  • a⊗b = a   onde se b≠0

La proprietá associativa non é garantita.(a⊙b)⊙c ≠ a⊙(b⊙c)

Stabilità di un algoritmo

Un algoritmo si dice stabile se restituisce risultati accurati nei limiti della precisione di macchina, altrimenti instabile.

Per esempio: per un ε=10-16 un algoritmo é stabile se restituisce un risultato con inaccuratezza comparabile con 10-16 indipendentemente da come si sono propagati gli errori.

La norma che propaga meno l'errore di arrotondamenti é quella infinita.

  1. |g(Xk)| ≪ 1 con εm ≪ γ ≪ 1 con γ tolleranza ≅ 10-3
  2. |Xk+1 + Xk| ≤ |1 - μ|k ⇒ non vale se g'(Xk) è abbastanza vicino a zero: distanza tra due iterate troppo piccola.

ALGORITMO: dati X0, kmax e ε

Per k = 0, 1, ..., kmax

  • Calcola g(Xk) e g'(Xk). Se g'(Xk) = 0 stop
  • Definisci Xk+1 = Xk + g(Xk)/g'(Xk)
  • Se |g(Xk+1)| ≤ ε stop oppure se |Xk+1 - Xk| ≤ ε|Xk| + γ stop

APPROSSIMAZIONI DI DATI E DI FUNZIONI

Ci approcciamo al problema di avere un insieme discreto di punti e di cercare una funzione che li approssima.

INTERPOLAZIONE:

vuol dire passare per i nodi (punti). Questo problema fu conosciuto già ai tempi di Newton. Se abbiamo da i = 0, ..., m (quindi m + 1 punti) tali che Xi, Xj se i ≠ j.

I nodi (le ascisse) sono due a due distinti.

Bisogna trovare una funzione tale che g(Xi) = Yi ∀i tra 0 e m, per tutti i punti.

Posso applicare l'interpolazione per due situazioni:

  • Yi = g(Xi) ma la funzione g(x) è incognita, non ho la sua forma esplicita.
  • Se è l'inverso: dai nodi e mi serve g(x) approssimo il valore di g(x) con g(x) dove g(x) è costruita.

g(x) ≅ g(Xi) (g è noto solo per i punti)

Conosco la forma analitica di g ma non riesco a fare un'operazione per il tipo di interesse. Sostituisco g e la approssimazione che riesco a integrare.

∫g(x)dx ≅ ∫g(Xi)dx

INTERPOLAZIONE POLINOMIALE:

sostituisco alla funzione un polinomio. Se ho m + 1 punti sui quali passa la funzione, mi cerco il polinomio di grado al più m che passa per tutti.

Trovare il polinomio di grado al più m (potrebbe essere più piccolo) tale che Pm(Xi) = Yi con i = 0, ..., m.

Se ho due punti cerco una retta, se ne ho tre una parabola.

Pm(x) = a0 + a1x + a2x2 + ... + amxm con:

  • Pm(X0) = Y0
  • Pm(X1) = Y1
  • Pm(Xm) = Ym

n + 1 condizioni e n + 1 incognite.

-15

Dettagli
Publisher
A.A. 2023-2024
30 pagine
SSD Scienze matematiche e informatiche MAT/08 Analisi numerica

I contenuti di questa pagina costituiscono rielaborazioni personali del Publisher jgkuvtktl6t di informazioni apprese con la frequenza delle lezioni di Calcolo Numerico e studio autonomo di eventuali libri di riferimento in preparazione dell'esame finale o della tesi. Non devono intendersi come materiale ufficiale dell'università Università degli Studi di Firenze o del prof Morini Benedetta.