Matlab e calcolo carta e penna

xlucyx
Ciao a tuttiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii
eccomi con un atro grave problema...

vi espongo un esercizio la sua soluzione ma ci sono delle cose che non capisco e poi un altro esercizio e se potete spiegarmi come si fa ve ne sarò infinitamente grata!

naturalmente la materia è CALCOLO NUMERICO

Eseguire e spiegare il risultato della seguente istruzione MATLAB:
>>1+(2^-51+2^-52+2^-53)==1+2^-50
in $FF(10,3,-10-10)$


allora la soluzione di una amica dice:

$1+(2^-51-2^-52+2^-53)=1+2^-50$

$x=1.00..........0111$
0 12 51 52 53

le ultime cifre corrispondono alle posizioni 51,52,53, non è un numero di macchine perche in MATLABE la precisione di macchina è $2^-52$
quindi c'è uno schema:

dove il precedente numero a $x$ si ottiene troncando l'ultima cifra
Quindi:

$a=1.00.............0111$
$x=1.00.............0111$
$b=1.00............100]1$
con quel'1 (il primodopo la virgola) in 50a posizione
perchè:
$011+1=100$

e io povera studentessa non ho capito nulla....
cmq vi propongo anche un altro esercizio simile...

"Esercizio":
>>2+2^-52+2^-53==2^-53+2^-52+2


Spero mi potiate aiutare un bacio e un grazie a tutti

MERCOLEDI HO L'ESAME!!!!

Risposte
spiritcrusher
io ti dico la mia.
premetto che non ho capito la seconda riga della istruzione cosa intende.
comunque per quanto riguarda la prima riga il discorso è semplicemente questo:
se prendi carta e penna e fai la somma(lasciando perdere 1+) con denominatore comune $2^53"$ ottieni che il risultato è $7/(2^53)$
siccome però..come mi hai detto tu matlab ha precisione $2^-52=1/(2^52$) tu puoi capire che lui .non si accorge della differenza tra il risultato vero che è quello che ho scritto e un risultato leggermente sbagliato come $8/2^53$..infatti l'errore è di $1/2^53$ che è più piccolo della risoluzione di matlab...che tradotto in linguaggio umano vuol dire che lui non si accorge della differenza di due numeri che distano meno di$ 1/2^52$.
ma se ci badi $8/2^53$ è proprio $1/2^50$.
quindi ora riprendendo 1+ ottieni proprio il risultato di matlab...cioè lui ha approssimato al valore più vicino che conosce.
Questo esercizio penso sia dato per farti notare che non puoi chiedere a matlab delle precisioni minori di quelle che lui può "vedere" perchè se no rischi di ottenere dei risultati sbagliati.
è come andare a chiedere al termometro a mercurio che usi per la febbre se hai 37,300 o 37,301....lui probabilmente segna 37,3 ma solo perchè più in piccolo non riesce a misurare.Esempio stupido ma magari chiarisce un po l'idea.

spiritcrusher
azz ho perso un meno.Il den comune è $2^-53$

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