ordine di grandezza
ordine di grandezza intuitivamente definibile come la misura della “grandezza” di un numero, data dalla potenza di 10 a esso più vicina, può essere rigorosamente definito a partire dalla sua scrittura in → notazione scientifica. Poiché la notazione scientifica di un numero reale a è: sign(a) ⋅ m ⋅ 10k con m ∈ R, 1 ≤ m < 10, e k ∈ Z, l’ordine di grandezza si definisce come la potenza 10z più vicina ad a, essendo z tale che:
Se 1 ≤ m ≤ 5 l’ordine di grandezza di a è 10k; se invece 5 < m < 10, l’ordine di grandezza di a è 10k+1. In pratica, per calcolare l’ordine di grandezza di un numero reale positivo si può procedere nel modo seguente:
• si scrive il numero in notazione scientifica;
• si arrotonda il numero, scrivendolo senza parte decimale; per fare ciò si considera la prima cifra dopo la virgola decimale: se è uguale a 0, 1, 2, 3, 4, allora il numero prima della parte decimale si lascia inalterato; se è uguale a 5, 6, 7, 8, 9, allora il numero prima della parte decimale è aumentato di 1. Così, arrotondando: 4,81 ⋅ 103 diventa 5 ⋅ 103; 7,52 ⋅ 104 diventa 8 ⋅ 104; 2,41 ⋅ 10−3 diventa 2 ⋅ 10−3; 9,49 ⋅ 105 diventa 9 ⋅ 105 mentre 9,5 ⋅ 106 diventa 10 ⋅ 106 = 1 ⋅ 107;
• se il numero intero è 1, 2, 3, 4, 5 allora l’ordine di grandezza è la potenza di 10 che si legge nella scrittura ottenuta; altrimenti, l’ordine di grandezza si ottiene aumentando di 1 l’esponente di 10. Negli esempi precedenti gli ordini di grandezza dei numeri sono rispettivamente 103, 105, 10−3, 106 e 107.
Nell’esecuzione di una procedura algoritmica iterativa, è molto utile stimare l’ordine di grandezza dell’errore dei risultati parziali ottenuti in modo da determinare la condizione d’arresto della procedura stessa. Detti xn e xn+1 i valori ottenuti da due successive iterazioni di calcolo, si considera la loro differenza in valore assoluto: se si vuole ottenere un risultato con un errore di ordine di grandezza inferiore a 10−k, occorre arrestare il calcolo quando la differenza tra due successivi valori ottenuti è appunto minore di 10−k, cioè quando en+1 = |xn − xn+1| < 10−k. Si supponga, per esempio, che il metodo iterativo fornisca per una data variabile x i valori x1 = 1,8; x2 = 1,81; x3 = 1,817; x4 = 1,8168. La stima dell’errore in ciascun passo è:
• e2 = |1,8 − 1,81| = |−0,01| = 1 ⋅ 10−2 (ordine di grandezza 10−2);
• e3 = |1,81 − 1,817| = |−0,007| = 7 ⋅ 10−3 (ordine di grandezza 10−2);
• e2 = |1,817 − 1,8168| = |0,0002| = 2 ⋅ 10−4 (ordine di grandezza 10−4).
Se si vuole ottenere un risultato con un errore dell’ordine di grandezza minore di 10−3 è sufficiente fermare il calcolo quando |xn − xn+1| < 10−3; il che corrisponde al quarto passo dell’iterazione.