Salve. non ho ben chiaro perché se in matlab faccio una sottrazione tipo 1e10 + 0.1 - 1e10 il risultato non è esattamente 0.1. C'entra la cancellazione numerica?
Beh, in questo caso il risultato è quello che mi aspetterei, cioè 2^(-1). Quindi il problema nel caso precedente è il fatto che 0.1 non è rappresentabile in binario?
feddy ha scritto:Hai colto il punto. Invece $2^k$, per $k$ in un opportuno range, lo è esattamente.
Quindi l'approssimazione che fa il calcolatore di 0.1 rappresenta quella piccola perturbazione che modifica il risultato finale, essendo un problema mal condizionato? Ho detto giusto?
Quell'approssimazione di 0.1 è dovuta al fatto che la sua rappresentazione binaria è infinita, ma noi abbiamo a disposizione soltanto un numero finito di cifre. Non parlerei di problema mal condizionato. Piuttosto parlerei solamente di rappresentazione floating point di 0.1, $\text{fl}(x)$