Estratto del documento

Calcolo numerico

Algoritmi

Un algoritmo è una successione finita di istruzioni che ci permette di passare da una situazione iniziale (dati) ad una situazione finale (risultati).

Dati → Algoritmo → Risultati

  • Successione finita di istruzioni
  • Modo non ambiguo (preciso e ordinato)
  • Fa passare da dati a risultati
  • Tempo finito

Un buon algoritmo deve avere 2 requisiti:

  • Generalità → deve risolvere una classe di problemi
  • Ottimalità → deve essere un algoritmo "ottimale", cioè il migliore rispetto al tempo, rispetto al numero di operazioni, ecc.

Es.:

Somma di n numeri

Somma di n numeri a1, a2, ..., an

  1. Leggi: n, a1, a2, ..., an
  2. Poni S = 0
  3. Per i = 1, 2, ..., n
  4. Poni S = S + ai
  5. Scrivi S
  6. Stop

Prodotto di n numeri

Prodotto di n numeri a1, a2, ..., an

  1. Leggi: n, a1, a2, ..., an
  2. Poni P = 1
  3. Per i = 1, 2, ..., n
  4. Poni P = P * ai
  5. Scrivi P
  6. Stop

Calcolo numerico

Algoritmi

Un algoritmo è una successione finita di istruzioni che ci permette di passare da una situazione iniziale (dati) ad una situazione finale (risultati).

Dati → Algoritmo → Risultati

Algoritmo

  • Successione finita di istruzioni
  • Modo non ambiguo (preciso e ordinato)
  • Fa passare da dati a risultati
  • Tempo finito

Un buon algoritmo deve avere 2 requisiti:

  • Generalità: deve risolvere una classe di problemi
  • Ottimalità: deve essere un algoritmo "ottimale", cioè il migliore rispetto al tempo, rispetto al numero di operazioni ecc.

Es.

Somma di n numeri

Somma di n numeri a1, a2, ..., an

  1. Leggi: n, a₁, a₂, ..., aₙ
  2. Poni S = 0
  3. Per i = 1, 2, ..., n
  4. Poni S = S + aᵢ
  5. Scrivi S
  6. Stop

Prodotto di n numeri

Prodotto di n numeri a1, a2, ..., an

  1. Leggi: n, a₁, a₂, ..., aₙ
  2. Poni P = 1
  3. Per i = 1, 2, ..., n
  4. Poni P = P * aᵢ
  5. Scrivi P
  6. Stop

Problema: determinare √N

Adesso prendiamo come problema il seguente: determinare √N, N > 0 mediante un procedimento iterativo.

Procedimento iterativo

Procedimento che si basa su una sequenza di istruzioni ripetute continuamente con lo scopo di trovare una soluzione o di avvicinarsi il più possibile ad essa.

Non è certo che sia un numero finito di istruzioni.

→ Non è un algoritmo (dato che può non finire)

Determinare √N, N > 0

  1. Individuare m, h > 0 tale che: m2 < N < h2
  2. Calcolare c = (m+h)/2
  3. Se c2 = N, c = √N → Stop
  4. Se c2 < N → sostituire c con m e tornare al punto 2
  5. Se c2 > N → sostituire c con h e tornare al punto 2

Dato che per molti numeri non esiste un valore preciso di radice quadrata, dobbiamo trovare un numero di iterazioni dopo le quali fermarsi.

Questo "numero finito" renderebbe il nostro procedimento iterativo un algoritmo a tutti gli effetti.

A differenza del procedimento iterativo il controllo dell'uguaglianza viene sostituito da un controllo di approssimazione dopo aver superato il numero di iterazioni di esempio.

Criterio di arresto

Decidiamo di fermarci se:

|c2 - N| ≤ ε, ε > 0

dove c è un'approssimazione di √N

c = (m+n)/2

Quando il problema determinare √N, N > 0 sarebbe risolto dal seguente algoritmo:

  1. Leggi N, m, n, ε
  2. Calcola c = (m+n)/2
  3. Se |c2 - N| ≤ ε → Vai al punto 6
  4. Se c2 < N poni m = c e vai al punto 2
  5. Se c2 > N poni h = c e vai al punto 2
  6. Scrivi c
  7. Stop

Con il criterio d'arresto c'è un rischio:

I numeri m, n troppo grandi oppure il valore ε troppo piccolo potrebbero implicare troppo tempo di calcolo.

Può essere giusto fissare un numero massimo di iterazioni:

Esempio:

  1. Leggi h, m, N, ε, Nmax
  2. Per n = 1, 2, ... Nmax

Calcola c = (m+n)/2

Se |c2 - N| ≤ ε → Vai al 6

Se c2 &

Anteprima
Vedrai una selezione di 7 pagine su 29
Calcolo numerico - teoria del corso Pag. 1 Calcolo numerico - teoria del corso Pag. 2
Anteprima di 7 pagg. su 29.
Scarica il documento per vederlo tutto.
Calcolo numerico - teoria del corso Pag. 6
Anteprima di 7 pagg. su 29.
Scarica il documento per vederlo tutto.
Calcolo numerico - teoria del corso Pag. 11
Anteprima di 7 pagg. su 29.
Scarica il documento per vederlo tutto.
Calcolo numerico - teoria del corso Pag. 16
Anteprima di 7 pagg. su 29.
Scarica il documento per vederlo tutto.
Calcolo numerico - teoria del corso Pag. 21
Anteprima di 7 pagg. su 29.
Scarica il documento per vederlo tutto.
Calcolo numerico - teoria del corso Pag. 26
1 su 29
D/illustrazione/soddisfatti o rimborsati
Acquista con carta o PayPal
Scarica i documenti tutte le volte che vuoi
Dettagli
SSD
Scienze matematiche e informatiche MAT/08 Analisi numerica

I contenuti di questa pagina costituiscono rielaborazioni personali del Publisher dadlin7 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.
Appunti correlati Invia appunti e guadagna

Domande e risposte

Hai bisogno di aiuto?
Chiedi alla community