
La costante %eps in Scilab
In Scilab, la costante %eps rappresenta la massima precisione della macchina.
%eps
E' la più piccola quantità positiva x tale che 1.0 + x è diverso da 1.0.
Questo valore dipende dalla precisione del calcolo in virgola mobile del tuo computer e del linguaggio di programmazione che stai utilizzando.
A cosa serve? E' molto utile se devi capire con quale precisione il tuo computer rappresenta i numeri in virgola mobile. Se stai effettuando dei calcoli che richiedono una grande precisione, è molto importante. Ad esempio, il tuo computer potrebbe considerare uguali due numeri diversi se sono molto vicini tra loro.
Ecco un esempio pratico.
Digita %eps sulla riga dei comandi di Scilab.
%eps
Scilab ti restituisce il numero più piccolo che il tuo computer può rappresentare nella notazione scientifica.
2.220D-16
Se la differenza tra due numeri è inferiore a questo numero, Scilab li considera uguali.
Per capire meglio questo concetto è utile passare dalla notazione scientifica alla notazione normale.
Digita il comando format(21)
format(21)
Questo comando ti permette di vedere i numeri fino a 21 cifre decimali.
Ora digita nuovamente %eps sulla riga dei comandi
%eps
In questo modo puoi vedere l'entità del numero in virgola mobile più piccolo che il tuo computer può rappresentare.
0.000000000000000222
Ti faccio un altro esempio.
Definisci due variabili assegnandogli due valori diversi ma molto vicini tra loro.
a=1
b=1+%eps
Poi confronta le due variabili tramite l'espressione a==b
a==b
In questo caso Scilab ti risponde F (False) perché la differenza tra i due numeri è uguale alla massima precisione.
In altre parole, Scilab li considera due valori diversi.
ans = F
Ora definisci le due variabili in quest'altro modo
a=1
b=1+%eps/2
Adesso la differenza tra i due valori è molto più piccola. E' pari alla metà del valore di %eps.
Confronta le due variabili con l'espressione (a==b)
a==b
Scilab ti risponde T (True) perché la differenza tra i due valori è al di sotto della massima precisione possibile.
In questo caso Scilab considera le due variabili uguali.
T
Quindi, se stai conducendo analisi scientifiche che necessitano di un'elevata precisione, è sempre prudente assicurarsi che la differenza tra i dati sia superiore al valore di %eps.
Se non lo è, potresti riscontrare errori che si accumulano e si propagano attraverso i tuoi calcoli, compromettendo l'accuratezza del risultato finale o portando a conclusioni fuorvianti.