Esercizio
buongiorno a tutti, sono alle prese con l'esame di analisi numerica..
volevo porre alla vostra attenzione questo esercizio:
Si consideri un elaboratore operante con rappresentazione in base $\beta= 10$,
aritmetica floating-point e tecnica di arrotondamento. Siano $m = 3$ le
cifre a disposizione della mantissa e $n = 2$ le cifre per la caratteristica. Sia
data l' espressione $f(x) =sqrt(100 + x) -10$. Per quali valori di $x$ presenta
problemi di cancellazione numerica? Per quali valori di $x$ si ha che il valore
di $f(x)$, calcolato in macchina, e uguale a zero? Perche?
dunque alla prima domanda ho risposto che per valori di $x$ molto vicini a $100$ si presentano problemi di cancellazione.
ho stabilito un intervallo $-100.5*10^0
oltre che per valori molto bassi di $x$
alla seconda domanda
ho pensato di imporre che la quantità $sqrt(100 + x)$ dovesse essere compresa tra $9.96
per cui ho valori di $x$ compresi fra $-0.7984
cosa ne pensate
volevo porre alla vostra attenzione questo esercizio:
Si consideri un elaboratore operante con rappresentazione in base $\beta= 10$,
aritmetica floating-point e tecnica di arrotondamento. Siano $m = 3$ le
cifre a disposizione della mantissa e $n = 2$ le cifre per la caratteristica. Sia
data l' espressione $f(x) =sqrt(100 + x) -10$. Per quali valori di $x$ presenta
problemi di cancellazione numerica? Per quali valori di $x$ si ha che il valore
di $f(x)$, calcolato in macchina, e uguale a zero? Perche?
dunque alla prima domanda ho risposto che per valori di $x$ molto vicini a $100$ si presentano problemi di cancellazione.
ho stabilito un intervallo $-100.5*10^0
oltre che per valori molto bassi di $x$
alla seconda domanda
ho pensato di imporre che la quantità $sqrt(100 + x)$ dovesse essere compresa tra $9.96
cosa ne pensate
Risposte
Buongiorno
la Prof. mi ha detto, a riguardo di questo esercizio, siccome è difficile ragionare con la radice imponeva che:
$|x|< 10*\epsilon_m$, $\epsilon_m$ è l'epsilon di macchina.
Facendogli vedere il mio di ragionamento cioè che $9.95< sqrt(100+x)<= 10.05$ mi ha detto che non è sbagliato ma che la limitazione inferiore non era necessaria!
mi ha inoltre detto si potrebbe porre $sqrt(100+x)=y$ e dire che $fl(y-10)=0$ .... quindi riprendendo la limitazione sopra vista ha scritto $(10.05-10) = 0.05 * 10^-2$ che in macchina è rappresentabile.... quindi non va bene (ha detto lei)
ma prima di arrivare a fare il floating di $fl(y-10)=0$ dovrò fare anche il floating di $sqrt(100+x)=y$ dato che è sotto radice e cioè $fl(y)$ e quindi ritorno a prima con $9.95
il ragionamento mi sembra più valido di prima
sono in dubbio, cosa ne pensate?
la Prof. mi ha detto, a riguardo di questo esercizio, siccome è difficile ragionare con la radice imponeva che:
$|x|< 10*\epsilon_m$, $\epsilon_m$ è l'epsilon di macchina.
Facendogli vedere il mio di ragionamento cioè che $9.95< sqrt(100+x)<= 10.05$ mi ha detto che non è sbagliato ma che la limitazione inferiore non era necessaria!

mi ha inoltre detto si potrebbe porre $sqrt(100+x)=y$ e dire che $fl(y-10)=0$ .... quindi riprendendo la limitazione sopra vista ha scritto $(10.05-10) = 0.05 * 10^-2$ che in macchina è rappresentabile.... quindi non va bene (ha detto lei)
ma prima di arrivare a fare il floating di $fl(y-10)=0$ dovrò fare anche il floating di $sqrt(100+x)=y$ dato che è sotto radice e cioè $fl(y)$ e quindi ritorno a prima con $9.95
sono in dubbio, cosa ne pensate?