|
|
Blutiger MatLab-Anfänger benötigt Hilfe |
|
luthielle |

Forum-Anfänger
|
 |
Beiträge: 11
|
 |
|
 |
Anmeldedatum: 03.05.10
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 04.05.2010, 13:28
Titel: Blutiger MatLab-Anfänger benötigt Hilfe
|
 |
|
 |
|
Hallo zusammen,
ich habe zuvor noch nie mit MatLab gearbeitet, muss nun aber für meine Bachelorarbeit Daten mit MatLab einlesen und plotten.
Die Daten sind im ASCII - Format (also .txt - Datei)
Die Form der Daten ist etwa (ohne Header):
27.03.2005 15.493 5.93
30.04.2005 15.938 4.98
25.05.2005 15.634 4.34
...
Also Datum TAB Messwert TAB Fehler TAB .... usw
Zum Einlesen habe ich den Befehl textread verwendet:
>> [datum, hoehe, fehler]= ...
textread('datei.txt', '%s %f %f')
Als Output habe ich dann 3 Vektoren bekommen, wobei das Datum als String eingegeben ist.
Mein Problem ist nun, dass ich den Vektor "datum" nicht mit datenum formatieren kann. Ich habe folgenden Befehl ausprobiert:
>> dates = datenum(datum, 'dd.mm.yyyy')
Dabei bekomme ich nur den Fehler: ??? Error using ==> datevec
Cannot parse date 27.08.2002
Ich habe dann überlegt, dass es vllt. an dem Format des Datums liegt und habe dieses umgeformt mit
>> dates = strrep(datum, '.', '/')
Versuche ich nun wieder
>> dates2 = datenum(dates,'dd/mm/yyyy')
bekomme ich den Fehler
??? Error using ==> datevec
27 is too large to be a month.
Was kann ich tun, damit MatLab meinen Datums-Vektor richtig einliest und konvertieren kann, kann ich irgendwie das Format 'dd/mm/yyyy' umformen in 'mm/dd/yyyy' ?
Oder gibt es eine andere Möglichkeit, hier weiter zu kommen?
Ich hoffe ihr könnt mir helfen.
|
|
|
|
|
denny |

Supporter
|
 |
Beiträge: 3.853
|
 |
|
 |
Anmeldedatum: 14.02.08
|
 |
|
 |
Wohnort: Ulm
|
 |
|
 |
Version: R2012b
|
 |
|
|
 |
|
Verfasst am: 04.05.2010, 14:22
Titel:
|
 |
Hallo
kannst du bitte dein ASCII-File anhängen, weil ich kann den Fehler nicht reproduzieren.
z.B das funktioniert bei mir:
|
|
|
luthielle |
Themenstarter

Forum-Anfänger
|
 |
Beiträge: 11
|
 |
|
 |
Anmeldedatum: 03.05.10
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 04.05.2010, 14:26
Titel:
|
 |
hallo denny,
danke erstmal für deine antwort. vllt. liegt es auch an meiner matlab-version, ich nutze 6.5.0 ...
hier ist das ascii file:
Beschreibung: |
|
 Download |
Dateiname: |
sciawatukosek.txt |
Dateigröße: |
1.59 KB |
Heruntergeladen: |
418 mal |
|
|
|
luthielle |
Themenstarter

Forum-Anfänger
|
 |
Beiträge: 11
|
 |
|
 |
Anmeldedatum: 03.05.10
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 04.05.2010, 14:29
Titel:
|
 |
wenn ich deinen code eingebe, erscheint bei mir:
??? Error using ==> datevec
Cannot parse date 27.03.2005
Error in ==> C:\MATLAB6p5\toolbox\matlab\timefun\datenum.m
On line 48 ==> case 2, n = datenummx(datevec(arg1,arg2));
|
|
|
denny |

Supporter
|
 |
Beiträge: 3.853
|
 |
|
 |
Anmeldedatum: 14.02.08
|
 |
|
 |
Wohnort: Ulm
|
 |
|
 |
Version: R2012b
|
 |
|
|
 |
|
Verfasst am: 04.05.2010, 14:48
Titel:
|
 |
Okay womöglich kann es an Version liegen, versuch es mal so:
|
|
|
luthielle |
Themenstarter

Forum-Anfänger
|
 |
Beiträge: 11
|
 |
|
 |
Anmeldedatum: 03.05.10
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 04.05.2010, 14:51
Titel:
|
 |
Leider wieder der Fehler:
??? Error using ==> datevec
Cannot parse date 27.08.2002
Error in ==> C:\MATLAB6p5\toolbox\matlab\timefun\datenum.m
On line 48 ==> case 2, n = datenummx(datevec(arg1,arg2));
dates sind auch alle 0
|
|
|
luthielle |
Themenstarter

Forum-Anfänger
|
 |
Beiträge: 11
|
 |
|
 |
Anmeldedatum: 03.05.10
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 04.05.2010, 14:54
Titel:
|
 |
ich habe mir übergangsweise schon damit beholfe, dass ich das format der daten in excel (ja ich weiß, böse ^^) umgeformt habe von dd.mm.yyyy in mm.dd.yy ... wenn ich dann . gegen / ersetze, kann ich mir zumindest einen datevec erstellen und darauf dann datenum anwenden...
das ist aber nicht die eleganteste lösung... es muss doch eine andere möglichkeit dafür geben?
|
|
|
denny |

Supporter
|
 |
Beiträge: 3.853
|
 |
|
 |
Anmeldedatum: 14.02.08
|
 |
|
 |
Wohnort: Ulm
|
 |
|
 |
Version: R2012b
|
 |
|
|
 |
|
Verfasst am: 04.05.2010, 15:01
Titel:
|
 |
|
|
luthielle |
Themenstarter

Forum-Anfänger
|
 |
Beiträge: 11
|
 |
|
 |
Anmeldedatum: 03.05.10
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 04.05.2010, 15:09
Titel:
|
 |
Vielen Dank !!
Es erscheint kein Fehler mehr
Für die dates bekomme ich auch die selben Werte wie durch meinen Umweg, nur wesentlich einfacher und eleganter
Ich verstehe zwar die Hälfte der Befehle noch nicht, aber die werde ich mir gleich erstmal anschauen.
Ohne dich wäre ich aufgeschmissen gewesen
|
|
|
luthielle |
Themenstarter

Forum-Anfänger
|
 |
Beiträge: 11
|
 |
|
 |
Anmeldedatum: 03.05.10
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 06.05.2010, 12:19
Titel:
|
 |
es lag tatsächlich an der version... ich habe nun eine aktuellere version von matlab und da funktioniert auch
ohne probleme... deprimierend ist das ja schon
|
|
|
|
|
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.
|
|