Algoritmo precisione di macchina matlab
C'è qualche buon samaritano che è così gentile da spiegarmi l'algoritmo che calcola la precisione di macchina su matlab? So che la precisione di macchina è definita come il più piccolo numero di macchina che sommato ad 1 restituisce come numero di macchina un numero maggiore di 1. Questo è l'algoritmo:
beta=2;
u=1;
while (u+1>1)
u=u/beta;
end
u=u*beta
beta=2;
u=1;
while (u+1>1)
u=u/beta;
end
u=u*beta
Risposte
Sta facendo esattamente quello che hai scritto tu. Partendo da $1$, finché la somma di $u$ con $1$ è maggiore di $1$, dimezza $u$. Nota che qui $\beta = 2$, è la base.
si dimezza per far sì che $u$ sia il [highlight]più piccolo numero di macchina[/highlight] tale che... ?
e poi perchè si moltiplica da capo per $beta$ ?
e poi perchè si moltiplica da capo per $beta$ ?
Perché appena esce dal ciclo quel numero lì sommato a 1 non fa più 1. Quindi ritorna all'iterazione precedente, in modo tale che sia il più piccolo. Prova a verificarlo , è così
perfetto verificato, molto gentile!:)
Di nulla!
