Dubbio sul Numero di condizionamento
Inviato: 13/03/2022, 13:01
Buongiorno. Sto inizando lo studio dell'analisi numerica per un corso universitario e mi è sorto subito un dubbio.
Si tratta di calcolare il numero di condizionamento(relativo) per il problema della somma tra due numeri. facendo i dovuti calcoli si trova che tale numero che indico con $k$ è $k = (abs(a)+abs(b))/(abs(a+b)$. Fin qui tutto bene. Da ciò che ho capito il numero di condionamento indica "l'alterazione" del risultato della somma dovuto ad un errore di misurazione nei dati a e b. Ma se tale errore non è presente, per esempio se $a=3$ e $b=4$ il numeor di condizionamento è 1 e quindi la somma è esatta. Però ho letto che se i numeri sono quasi identici in valore assoluto o addiritura uguali, se si sottraggono un dall'altro si verifica il problema della cancellazione, difatti k diventerebbe un numero infinito, essendoci una dizione per zero. Ma se a fano faccio 4-4, ottengo zero, e ancora se penso al 4 memorizzato in 16 bit, facendo in binario 100-100 ottengo 0 in binario. Ciò che non capisco è perchè si verifica l'errore di cancellazione nonostante la sottrazione si possa fare con precisione, ed inoltre come si concilia con questo il numero di condizionamento? Vi ringrazio in anticipo!
Si tratta di calcolare il numero di condizionamento(relativo) per il problema della somma tra due numeri. facendo i dovuti calcoli si trova che tale numero che indico con $k$ è $k = (abs(a)+abs(b))/(abs(a+b)$. Fin qui tutto bene. Da ciò che ho capito il numero di condionamento indica "l'alterazione" del risultato della somma dovuto ad un errore di misurazione nei dati a e b. Ma se tale errore non è presente, per esempio se $a=3$ e $b=4$ il numeor di condizionamento è 1 e quindi la somma è esatta. Però ho letto che se i numeri sono quasi identici in valore assoluto o addiritura uguali, se si sottraggono un dall'altro si verifica il problema della cancellazione, difatti k diventerebbe un numero infinito, essendoci una dizione per zero. Ma se a fano faccio 4-4, ottengo zero, e ancora se penso al 4 memorizzato in 16 bit, facendo in binario 100-100 ottengo 0 in binario. Ciò che non capisco è perchè si verifica l'errore di cancellazione nonostante la sottrazione si possa fare con precisione, ed inoltre come si concilia con questo il numero di condizionamento? Vi ringrazio in anticipo!