|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Member
Iscritto dal: Dec 2006
Messaggi: 103
|
[Matlab] Troncamento di un numero
Ciao a tutti!
Ho un problema con Matlab. Devo "far capire" al programma che un numero del tipo: 3,9281*10^-15 lo deve considerare uguale a zero, e quindi rientrarmi in un ciclo while che avevo precedentemente creato. Ho provato con i comandi digits(x) e vpa(x) ma non sono riuscito a risolvere niente. Esiste un comando (o qualche procedimento) che mi permette di troncare quel numero alle prime sei cifre NON significative (quindi senza usare chop(x,t) ) in modo tale da prendere 0,00000? Grazie a tutti e spero di essere stato il più chiaro possibile! |
|
|
|
|
|
#2 |
|
Member
Iscritto dal: Nov 2007
Messaggi: 122
|
Prova la funzione fix --> Round toward zero
Codice:
a=3.9281*10^-(15) fix(a) |
|
|
|
|
|
#3 | |
|
Senior Member
Iscritto dal: Sep 2005
Città: Torino
Messaggi: 606
|
Quote:
Codice:
3,9281*10^-15 < Epsilon Magari mi sono inventato tutto e quello che ho inteso io non è quello che dicevi tu, magari ci ho beccato.
__________________
"Se proprio dovete piratare un prodotto, preferiamo che sia il nostro piuttosto che quello di qualcun altro." [Jeff Raikes] "Pirating software? Choose Microsoft!" |
|
|
|
|
|
|
#4 |
|
Member
Iscritto dal: Jan 2006
Città: Quahog, Rhode Island
Messaggi: 85
|
Altra soluzione artigianale (sostanzialmente analoga alla precedente): moltiplichi il numero per 10^6 e usi il comando round e ridividi per 10^6: se il numero iniziale è minore di 5*10^-7, ottieni un numero nullo.
Ovviamente, l'esponente del 10 è il numero di cifre significative che vuoi considerare.
__________________
Cooler Master Centurion 590 | AsRock M3A790GXH/128M | AMD Phenom II 955 BE | Arctic Cooling Freezer Xtreme | Corsair 4 GB CAS 9 | Corsair VX 550w | Sapphire Radeon 4890 Vapor-X Canon 450D | Canon EF 35 mm f2,0 | Canon EF 85 mm f1,8 | Canon EF-S 18-55 f3,5 - 5,6 (nella scatola )
|
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 23:27.











)








