|
|
DIfferenz in Zeitvektoren nach Umwandlung |
|
HenningL |
Gast
|
 |
Beiträge: ---
|
 |
|
 |
Anmeldedatum: ---
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 27.01.2016, 11:04
Titel: DIfferenz in Zeitvektoren nach Umwandlung
|
 |
Hallo zusammen,
ich habe zur Zeit folgendes Problem und hoffe ihr koennt mir dabei helfen:
Ich habe 2 Zeitvektoren im datetime format, der eine wurde aus einer Datenreihe eingelesen und hat Luecken, der andere wurde manuell erstellt und deckt den gesamten Bereich ab, den auch der erste Zeitvektor abdeckt. Um mit den Vektoren zu rechnen habe ich beide in das datenum format umgewandelt, allerdings tritt nach der Umwandlung bei jedem 3. Wert eine minimale Abweichung auf bei Werten die im datetime format identisch waren. Weiss jemand warum das auftritt, bzw. wie man das beheben kann?
besten Gruss
Henning
|
|
|
|
|
Jan S |

Moderator
|
 |
Beiträge: 11.057
|
 |
|
 |
Anmeldedatum: 08.07.10
|
 |
|
 |
Wohnort: Heidelberg
|
 |
|
 |
Version: 2009a, 2016b
|
 |
|
|
 |
|
Verfasst am: 27.01.2016, 11:16
Titel: Re: DIfferenz in Zeitvektoren nach Umwandlung
|
 |
Hallo HenningL,
Bitte poste ein minimales Beispiel, das Deine Beobachtung reproduziert. Wie groß ict "minimal" und mit welchen Mitteln stellst Du diese Abweichugn fest? Vielleicht ist es nur einemProblem mit der begrenzten Genauigkeit von Fließkomma-Zahlen.
Gruß, Jan
|
|
|
HenningL |
Gast
|
 |
Beiträge: ---
|
 |
|
 |
Anmeldedatum: ---
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 27.01.2016, 11:23
Titel:
|
 |
Hallo Jan,
die Vektoren sehen wie folgt aus:
Vektor 1: Vektor2:
01-Jan-1955 00:30:00 01-Jan-1955 00:30:00
01-Jan-1955 01:30:00 01-Jan-1955 01:30:00
01-Jan-1955 02:30:00 01-Jan-1955 02:30:00
. .
. .
. .
Nach der Umwandlung kommt dann folgendes dabei heraus:
-473383800 -473383800
-473380200 -473380200
-4.733765999999933e+08 -473376600
Die Abweichung bei jedem 3. Wert betraegt 6.657e-06.
vielen Dank schonmal
Henning
|
|
|
HenningL |
Gast
|
 |
Beiträge: ---
|
 |
|
 |
Anmeldedatum: ---
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 27.01.2016, 11:32
Titel:
|
 |
Okay, da ja in dem 'korrekt' umgewandelten Vektor nur integers stehen habe ich es jetzt einfach durch runden geloest. Aber warum tritt diese differenz ueberhaupt auf?
Gruss
Henning
|
|
|
Jan S |

Moderator
|
 |
Beiträge: 11.057
|
 |
|
 |
Anmeldedatum: 08.07.10
|
 |
|
 |
Wohnort: Heidelberg
|
 |
|
 |
Version: 2009a, 2016b
|
 |
|
|
 |
|
Verfasst am: 27.01.2016, 11:55
Titel:
|
 |
Hallo HenningL,
Mangels Formatierung ist nicht zu erkennen, wie Deine Daten aussehen. Daten postet man am besten in korrekter Matlab-Syntax, so dass die Leser sie per Copy&Paste im Command-Window zum Experimentieren verwenden können.
Die Abweichung ist zu erwarten, denn sie ist in der Größenordnung der Genauigkeit vom DOUBLE Zahlen. Diese werden gemäß IEEE754 intern als Binärzahlen gespeichert. Und da die meisten Dezimalzahlen keine exakte Darstellung im Binärformat haben, muss gerundet werden. Und dabei müssen solche Abweichungen auftreten. Siehe:
Diese Effekte sind grundlegen für das Rechnen auf Computern und man muss sie bei Berechnungen mit Gleitkommazahlen immer berücksichtigen.
Gruß, Jan
|
|
|
|
|
Einstellungen und Berechtigungen
|
|
Du kannst Beiträge in dieses Forum schreiben. Du kannst auf Beiträge in diesem Forum antworten. Du kannst deine Beiträge in diesem Forum nicht bearbeiten. Du kannst deine Beiträge in diesem Forum nicht löschen. Du kannst an Umfragen in diesem Forum nicht mitmachen. Du kannst Dateien in diesem Forum posten Du kannst Dateien in diesem Forum herunterladen
|
|
Impressum
| Nutzungsbedingungen
| Datenschutz
| FAQ
| RSS
Hosted by:
Copyright © 2007 - 2025
goMatlab.de | Dies ist keine offizielle Website der Firma The Mathworks
MATLAB, Simulink, Stateflow, Handle Graphics, Real-Time Workshop, SimBiology, SimHydraulics, SimEvents, and xPC TargetBox are registered trademarks and The MathWorks, the L-shaped membrane logo, and Embedded MATLAB are trademarks of The MathWorks, Inc.
|
|