DMUG-Archiv 2001

Frühere   Chronologischer Index   Spätere
Vorherige   Thematischer Index   Nächste

Re: ganz einfach, sehr eigenartig => f[h_, dh_] = Floor[N[h/dh]]

> > Klamser@XXXXXXX.de wrote:
> >
> > Hallo,
> >
> > eine ganz einfach Funktion:
> >
> > f[h_, dh_] = Floor[N[h/dh]]
> >
> > Wenn ich z.B. f[h, h 0.5 ] eingebe sagt MMA (4.1) mit dass da 2
> > rauskommt. Sehr guuut!.
> >
> > Eigentlich müsste immer 2 rauskommen :-)
> >
> > Der Test
> >
> > Table[f[h, h 0.5 ], {h, 0, 2, 0.01}]
> >
> > ergibt aber:
> >
> > {Indeterminate, 2, 2, 2, 2, 2, 2, 2, 2, 1, 2, 2, 2, 2, 2, 2, 2, 2, 1,
> > 2, 2, \
> > 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 2, 2, 2, 2, 2, 2, 2,
> > 2, 2, 2, \
> > 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1,
> > 2, 2, 1, \
> > 1, 2, 2, 2, 2, 2, 1, 2, 2, 2, 2, 2, 2, 2, 1, 2, 2, 2, 1, 2, 2, 2, 2,
> > 2, 2, 2, \
> > 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
> > 2, 2, 2, \
> > 2, 2, 1, 2, 1, 2, 2, 2, 2, 2, 2, 2, 2, 1, 2, 2, 2, 2, 2, 1, 2, 1, 2,
> > 2, 2, 2, \
> > 2, 2, 2, 2, 2, 2, 2, 1, 2, 2, 2, 2, 2, 2, 1, 2, 2, 2, 2, 2, 1, 2, 2,
> > 1, 2, 2, \
> > 2, 2, 2, 2, 2, 1, 1, 2, 1, 2, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 2, 1,
> > 2}
> >
> > Ich beschwere mich nicht über das Indeterminate (da 0/0).
> >
> > Aber warum kommt da 1 raus?
> >
> > Gruß, Peter Klamser
Hallo ,

noch die 1001. Antwort :

diese Ungenauigkeit bei der Darstellung von Zahlen durch
Gleitkommazahlen begrenzter Länge ist ja nicht neu. Interessiert man
sich wie hier geschildert nur für den Ganzen Teil einer Zahl und muss
mit Darstellungsfehlern rechnen, dann funktioniert folgender Trick :

Man addiere zu der zu wandelnden Größe eine kleine Epsilongröße, die so
groß gewählt werden muss, dass sie den größten zu erwartenden
Darstellungsfehler ausgleicht, alse z.B.

f[h_, dh_] = Floor[N[h/dh]+.000001]


Verweise:
Frühere   Chronologischer Index   Spätere
Vorherige   Thematischer Index   Nächste

DMUG DMUG-Archiv, http://www.mathematica.ch/archiv.html