[Matlab] Precisione di macchina

Malachite1
Nel corso di analisi numerica che sto seguendo mi è stato detto che la precisione di macchina è il più piccolo valore positivo sentito nella somma a uno. In matlab tale valore è eps=2.220446049250313e-016. Quindi se sommo ad 1 un numero più piccolo il risultato dovrebbe essere 1. Allora perchè se ad esempio ad 1 sommo 2.210446049250313e-016 che è più piccolo di eps, il risultato viene maggiore di 1?

Risposte
Lory314
Strano. A me, scrivendo direttamente sul terminale di MatLab, 1+2.210446049250313e-016 dà 1. Hai fatto anche te così?

Malachite1
Si perchè la differenza sta nella sedicesima crifra decimale che non viene mostrata neanche in format long. Utilizzo una funzione che mi stampa fino a 20 cifre decimali e infatti mi da 1.00000000000000020000. Puoi controllare facendo il confronto 1+2.210446049250313e-016==1 che dice che è falso.

Scofield88
Se invece danno un sistema floating point (per esempio F (2, 13, -64, 63) )la precisione di macchina si trova con la formula beta ^(1- t) vero? In questo caso verrebbe 2 ^(-12) se non sbaglio...

Rispondi
Per rispondere a questa discussione devi prima effettuare il login.