www.vorhilfe.de
Vorhilfe

Kostenlose Kommunikationsplattform für gegenseitige Hilfestellungen.
Hallo Gast!einloggen | registrieren ]
Startseite · Forum · Wissen · Kurse · Mitglieder · Team · Impressum
Forenbaum
^ Forenbaum
Status Vorhilfe
  Status Geisteswiss.
    Status Erdkunde
    Status Geschichte
    Status Jura
    Status Musik/Kunst
    Status Pädagogik
    Status Philosophie
    Status Politik/Wirtschaft
    Status Psychologie
    Status Religion
    Status Sozialwissenschaften
  Status Informatik
    Status Schule
    Status Hochschule
    Status Info-Training
    Status Wettbewerbe
    Status Praxis
    Status Internes IR
  Status Ingenieurwiss.
    Status Bauingenieurwesen
    Status Elektrotechnik
    Status Maschinenbau
    Status Materialwissenschaft
    Status Regelungstechnik
    Status Signaltheorie
    Status Sonstiges
    Status Technik
  Status Mathe
    Status Schulmathe
    Status Hochschulmathe
    Status Mathe-Vorkurse
    Status Mathe-Software
  Status Naturwiss.
    Status Astronomie
    Status Biologie
    Status Chemie
    Status Geowissenschaften
    Status Medizin
    Status Physik
    Status Sport
  Status Sonstiges / Diverses
  Status Sprachen
    Status Deutsch
    Status Englisch
    Status Französisch
    Status Griechisch
    Status Latein
    Status Russisch
    Status Spanisch
    Status Vorkurse
    Status Sonstiges (Sprachen)
  Status Neuerdings
  Status Internes VH
    Status Café VH
    Status Verbesserungen
    Status Benutzerbetreuung
    Status Plenum
    Status Datenbank-Forum
    Status Test-Forum
    Status Fragwürdige Inhalte
    Status VH e.V.

Gezeigt werden alle Foren bis zur Tiefe 2

Navigation
 Startseite...
 Neuerdings beta neu
 Forum...
 vorwissen...
 vorkurse...
 Werkzeuge...
 Nachhilfevermittlung beta...
 Online-Spiele beta
 Suchen
 Verein...
 Impressum
Das Projekt
Server und Internetanbindung werden durch Spenden finanziert.
Organisiert wird das Projekt von unserem Koordinatorenteam.
Hunderte Mitglieder helfen ehrenamtlich in unseren moderierten Foren.
Anbieter der Seite ist der gemeinnützige Verein "Vorhilfe.de e.V.".
Partnerseiten
Dt. Schulen im Ausland: Mathe-Seiten:

Open Source FunktionenplotterFunkyPlot: Kostenloser und quelloffener Funktionenplotter für Linux und andere Betriebssysteme
Forum "Matlab" - Matlab Gleitkommazahl
Matlab Gleitkommazahl < Matlab < Mathe-Software < Mathe < Vorhilfe
Ansicht: [ geschachtelt ] | ^ Forum "Matlab"  | ^^ Alle Foren  | ^ Forenbaum  | Materialien

Matlab Gleitkommazahl: Gleitkommazahl
Status: (Frage) beantwortet Status 
Datum: 16:36 Di 02.02.2010
Autor: JanaS

Aufgabe
Beschreibe kurz, wie Gleitkommazahlen in einem Computer dargestellt werden. Können die folgenden Zahlen exakt gespeichert werden in einem Computer und warum bekommen wir diese Fehler?
.5/0.1-5, 0.6/0.3-2, 0.7/0.2-3.5 und 0.8/0.4-2

Hallo!

Ich habe diese Frage in keinem Forum auf anderen Internetseiten gestellt.

Es geht um Matlab. Gleitkommazahlen habe ich schon beschrieben, also dass sie so dargstellt werden: [mm] x=m*b^e. [/mm] Wenn ich die oben genannten Aufgaben bei Matlab eingebe, so bekomme ich immer die erwünschte 0 bis auf 0.7/0.2-3.5. Da schmeisst Matalb als Ergebnis -4.440892098500626e-016 heraus. Warum?

Vielen Dank für Eure Hilfe schonmal!

Viele Grüsse von Jana

        
Bezug
Matlab Gleitkommazahl: Antwort
Status: (Antwort) fertig Status 
Datum: 19:46 Di 02.02.2010
Autor: rainerS

Hallo Jana!

> Beschreibe kurz, wie Gleitkommazahlen in einem Computer
> dargestellt werden. Können die folgenden Zahlen exakt
> gespeichert werden in einem Computer und warum bekommen wir
> diese Fehler?
>  .5/0.1-5, 0.6/0.3-2, 0.7/0.2-3.5 und 0.8/0.4-2
>  Hallo!
>  
> Ich habe diese Frage in keinem Forum auf anderen
> Internetseiten gestellt.
>  
> Es geht um Matlab. Gleitkommazahlen habe ich schon
> beschrieben, also dass sie so dargstellt werden: [mm]x=m*b^e.[/mm]
> Wenn ich die oben genannten Aufgaben bei Matlab eingebe, so
> bekomme ich immer die erwünschte 0 bis auf 0.7/0.2-3.5. Da
> schmeisst Matalb als Ergebnis -4.440892098500626e-016
> heraus. Warum?

Welche der Zahlen können exakt dargestellt werden?  Berücksichtige dabei die Zwischenergebnisse, das heisst schau dir an, was bei 0.7/0.2 herauskommt und wie sich dieses Zwischenergebnis von 3.5 unterscheidet. In der Standardausgabe siehst du den Unterschied nicht, aber wenn du vorher

format hex

eingibst, wird die interne Darstellung angezeigt. (Mit "format" schaltest du wieder zurück).

Viele Grüße
   Rainer

Bezug
                
Bezug
Matlab Gleitkommazahl: Frage (beantwortet)
Status: (Frage) beantwortet Status 
Datum: 20:39 Di 02.02.2010
Autor: JanaS


>  
> > Beschreibe kurz, wie Gleitkommazahlen in einem Computer
> > dargestellt werden. Können die folgenden Zahlen exakt
> > gespeichert werden in einem Computer und warum bekommen wir
> > diese Fehler?
>  >  .5/0.1-5, 0.6/0.3-2, 0.7/0.2-3.5 und 0.8/0.4-2
>  >  Hallo!
>  >  
> > Ich habe diese Frage in keinem Forum auf anderen
> > Internetseiten gestellt.
>  >  
> > Es geht um Matlab. Gleitkommazahlen habe ich schon
> > beschrieben, also dass sie so dargstellt werden: [mm]x=m*b^e.[/mm]
> > Wenn ich die oben genannten Aufgaben bei Matlab eingebe, so
> > bekomme ich immer die erwünschte 0 bis auf 0.7/0.2-3.5. Da
> > schmeisst Matalb als Ergebnis -4.440892098500626e-016
> > heraus. Warum?
>
> Welche der Zahlen können exakt dargestellt werden?  
> Berücksichtige dabei die Zwischenergebnisse, das heisst
> schau dir an, was bei 0.7/0.2 herauskommt und wie sich
> dieses Zwischenergebnis von 3.5 unterscheidet. In der
> Standardausgabe siehst du den Unterschied nicht, aber wenn
> du vorher
>  
> format hex
>  
> eingibst, wird die interne Darstellung angezeigt. (Mit
> "format" schaltest du wieder zurück).
>  
> Viele Grüße
>     Rainer

Hallo Rainer!

Danke für Deine Antwort! Ich sehe jetzt den Unterschied zwischen 0.7/0.2 und 3.5. Aber ich verstehe noch nicht so ganz, WARUM da ein Unterschied ist? Was bedeuten die b's und f's? Ich habe versucht, etwas über das Hexadezimalsystem zu lesen, damit hängt das wohl zusammen, oder? Aber verstanden habe ich es nicht :-(.

Viele Grüsse, Jana


Bezug
                        
Bezug
Matlab Gleitkommazahl: Antwort
Status: (Antwort) fertig Status 
Datum: 21:08 Di 02.02.2010
Autor: rainerS

Hallo Jana!

> >  

> > > Beschreibe kurz, wie Gleitkommazahlen in einem Computer
> > > dargestellt werden. Können die folgenden Zahlen exakt
> > > gespeichert werden in einem Computer und warum bekommen wir
> > > diese Fehler?
>  >  >  .5/0.1-5, 0.6/0.3-2, 0.7/0.2-3.5 und 0.8/0.4-2
>  >  >  Hallo!
>  >  >  
> > > Ich habe diese Frage in keinem Forum auf anderen
> > > Internetseiten gestellt.
>  >  >  
> > > Es geht um Matlab. Gleitkommazahlen habe ich schon
> > > beschrieben, also dass sie so dargstellt werden: [mm]x=m*b^e.[/mm]
> > > Wenn ich die oben genannten Aufgaben bei Matlab eingebe, so
> > > bekomme ich immer die erwünschte 0 bis auf 0.7/0.2-3.5. Da
> > > schmeisst Matalb als Ergebnis -4.440892098500626e-016
> > > heraus. Warum?
> >
> > Welche der Zahlen können exakt dargestellt werden?  
> > Berücksichtige dabei die Zwischenergebnisse, das heisst
> > schau dir an, was bei 0.7/0.2 herauskommt und wie sich
> > dieses Zwischenergebnis von 3.5 unterscheidet. In der
> > Standardausgabe siehst du den Unterschied nicht, aber wenn
> > du vorher
>  >  
> > format hex
>  >  
> > eingibst, wird die interne Darstellung angezeigt. (Mit
> > "format" schaltest du wieder zurück).
>  >  
> > Viele Grüße
>  >     Rainer
>
> Hallo Rainer!
>  
> Danke für Deine Antwort! Ich sehe jetzt den Unterschied
> zwischen 0.7/0.2 und 3.5. Aber ich verstehe noch nicht so
> ganz, WARUM da ein Unterschied ist? Was bedeuten die b's
> und f's? Ich habe versucht, etwas über das
> Hexadezimalsystem zu lesen, damit hängt das wohl zusammen,
> oder? Aber verstanden habe ich es nicht :-(.

Du kannst die Hexadezimalziffern einfach in Bits (im Dualsystem) übersetzen; jede Ziffer entspricht genau 4 Bits, wie es []hier in dieser Tabelle dargestellt ist. Was du hier siehst, ist eine standardisierte Darstellung von 64bit langen Gleitkommazahlen, sieh []hier. Die ersten 12 Bit, also die ersten 3 Hexadezimalstellen stehen für Vorzeichen und Exponenten, der Rest für die Mantisse.

Wesentlich für dich ist hier, dass sich die beiden Zahlen nur in der Mantisse unterscheiden, nicht im Exponenten.

Zum Beispiel:

3.5 = 400c000000000000

Die Mantisse beginnt mit der 4. Hex-Ziffer, also c000..., oder als Bits: 1100 (+ weitere 48 0-Bits).


Die andere Zahl:

0.7/0.2 = 400bffffffffffff

Mantisse: bfff..., als Bits 1011 (+ weitere 48 1-Bits)

Mit anderen Worten: die Mantisse der ersten Zahl 3.5 ist gerade um 1 in der hinteresten Stelle größer als die Mantisse der zweiten Zahl 0.7/0.2 .

In der normalen Ausgabe ist dieser Unterschied nicht sichtbar, weil bei der Umwandlung der Binär- in die Dezimaldarstellung immer gerundet wird.

Bleibt noch die Frage, warum dieser Effekt nur bei der Division 0.7/0.2 auftritt, aber nicht bei 0.6/0.3 oder 0.8/0.4. Dazu schaust du dir am besten die Darstellungen der einzelnen Zahlen vor der Division an. Du wirst sehen, dass sich zum Beispiel bei 0.6 und 0.3 nur die Exponenten unterscheiden, nicht aber die Mantissen. Daher ist eine exakte Division möglich, obwohl die Binärdarstellung der einzelnen Zahlen nicht exakt ist.

Viele Grüße
   Rainer

Bezug
                                
Bezug
Matlab Gleitkommazahl: Mitteilung
Status: (Mitteilung) Reaktion unnötig Status 
Datum: 14:38 Do 04.02.2010
Autor: JanaS


> Hallo Jana!
>  
> > >  

> > > > Beschreibe kurz, wie Gleitkommazahlen in einem Computer
> > > > dargestellt werden. Können die folgenden Zahlen exakt
> > > > gespeichert werden in einem Computer und warum bekommen wir
> > > > diese Fehler?
>  >  >  >  .5/0.1-5, 0.6/0.3-2, 0.7/0.2-3.5 und 0.8/0.4-2
>  >  >  >  Hallo!
>  >  >  >  
> > > > Ich habe diese Frage in keinem Forum auf anderen
> > > > Internetseiten gestellt.
>  >  >  >  
> > > > Es geht um Matlab. Gleitkommazahlen habe ich schon
> > > > beschrieben, also dass sie so dargstellt werden: [mm]x=m*b^e.[/mm]
> > > > Wenn ich die oben genannten Aufgaben bei Matlab eingebe, so
> > > > bekomme ich immer die erwünschte 0 bis auf 0.7/0.2-3.5. Da
> > > > schmeisst Matalb als Ergebnis -4.440892098500626e-016
> > > > heraus. Warum?
> > >
> > > Welche der Zahlen können exakt dargestellt werden?  
> > > Berücksichtige dabei die Zwischenergebnisse, das heisst
> > > schau dir an, was bei 0.7/0.2 herauskommt und wie sich
> > > dieses Zwischenergebnis von 3.5 unterscheidet. In der
> > > Standardausgabe siehst du den Unterschied nicht, aber wenn
> > > du vorher
>  >  >  
> > > format hex
>  >  >  
> > > eingibst, wird die interne Darstellung angezeigt. (Mit
> > > "format" schaltest du wieder zurück).
>  >  >  
> > > Viele Grüße
>  >  >     Rainer
> >
> > Hallo Rainer!
>  >  
> > Danke für Deine Antwort! Ich sehe jetzt den Unterschied
> > zwischen 0.7/0.2 und 3.5. Aber ich verstehe noch nicht so
> > ganz, WARUM da ein Unterschied ist? Was bedeuten die b's
> > und f's? Ich habe versucht, etwas über das
> > Hexadezimalsystem zu lesen, damit hängt das wohl zusammen,
> > oder? Aber verstanden habe ich es nicht :-(.
>  
> Du kannst die Hexadezimalziffern einfach in Bits (im
> Dualsystem) übersetzen; jede Ziffer entspricht genau 4
> Bits, wie es
> []hier in dieser Tabelle
> dargestellt ist. Was du hier siehst, ist eine
> standardisierte Darstellung von 64bit langen
> Gleitkommazahlen, sieh
> []hier.
> Die ersten 12 Bit, also die ersten 3 Hexadezimalstellen
> stehen für Vorzeichen und Exponenten, der Rest für die
> Mantisse.
>  
> Wesentlich für dich ist hier, dass sich die beiden Zahlen
> nur in der Mantisse unterscheiden, nicht im Exponenten.
>  
> Zum Beispiel:
>  
> 3.5 = 400c000000000000
>  
> Die Mantisse beginnt mit der 4. Hex-Ziffer, also c000...,
> oder als Bits: 1100 (+ weitere 48 0-Bits).
>  
>
> Die andere Zahl:
>  
> 0.7/0.2 = 400bffffffffffff
>
> Mantisse: bfff..., als Bits 1011 (+ weitere 48 1-Bits)
>  
> Mit anderen Worten: die Mantisse der ersten Zahl 3.5 ist
> gerade um 1 in der hinteresten Stelle größer als die
> Mantisse der zweiten Zahl 0.7/0.2 .
>  
> In der normalen Ausgabe ist dieser Unterschied nicht
> sichtbar, weil bei der Umwandlung der Binär- in die
> Dezimaldarstellung immer gerundet wird.
>  
> Bleibt noch die Frage, warum dieser Effekt nur bei der
> Division 0.7/0.2 auftritt, aber nicht bei 0.6/0.3 oder
> 0.8/0.4. Dazu schaust du dir am besten die Darstellungen
> der einzelnen Zahlen vor der Division an. Du wirst sehen,
> dass sich zum Beispiel bei 0.6 und 0.3 nur die Exponenten
> unterscheiden, nicht aber die Mantissen. Daher ist eine
> exakte Division möglich, obwohl die Binärdarstellung der
> einzelnen Zahlen nicht exakt ist.
>  
> Viele Grüße
>     Rainer

Hallo Rainer!

Hab vielen Dank für Deine Geduld und Deine Hilfe!

Viele Grüsse, Jana

Bezug
Ansicht: [ geschachtelt ] | ^ Forum "Matlab"  | ^^ Alle Foren  | ^ Forenbaum  | Materialien


^ Seitenanfang ^
www.vorhilfe.de