WICHTIG: Der Betrieb von goMatlab.de wird privat finanziert fortgesetzt. - Mehr Infos...

Mein MATLAB Forum - goMatlab.de

Mein MATLAB Forum

 
Gast > Registrieren       Autologin?   

Partner:




Forum
      Option
[Erweitert]
  • Diese Seite per Mail weiterempfehlen
     


Gehe zu:  
Neues Thema eröffnen Neue Antwort erstellen

Zeit einlesen

 

eve
Forum-Anfänger

Forum-Anfänger


Beiträge: 41
Anmeldedatum: 18.08.08
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 06.05.2009, 14:04     Titel: Zeit einlesen
  Antworten mit Zitat      
Hallo!
Vll kann mir jemand weiter helfen...Aus einem txt-file möchte ich gerne die Zeit einlesen die in hh:min:ss angegeben ist. Für den Fall, dass die Sekunden nicht variieren habe ich folgende Vorlage:

[%------------------- Datumsumwandlung -------------------------------------
YYYYMMDDhhmm = yea*1E8 + mon*1E6 + day*1E4 + hh*1E2+ mm;

%% Datumsumrechung in serielles Datum
YYYY = fix(YYYYMMDDhhmm*1E-Cool;
MM = fix((YYYYMMDDhhmm-YYYY*1E8)*1E-6);
DD = fix((YYYYMMDDhhmm-YYYY*1E8-MM*1E6)*1E-4);
hh = fix((YYYYMMDDhhmm-YYYY*1E8-MM*1E6-DD*1E4)*1E-2);
mm = fix(YYYYMMDDhhmm-YYYY*1E8-MM*1E6-DD*1E4-hh*1E2);
sdate = datenum(YYYY,MM,DD,hh,mm,00);]

Wenn nun aber die ss auch anzugeben sind, wie lautet dann der Code? Was muss ich dann ergänzen?
Gruß
Eve[/code]
Private Nachricht senden Benutzer-Profile anzeigen


eve
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 41
Anmeldedatum: 18.08.08
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 06.05.2009, 14:08     Titel:
  Antworten mit Zitat      
sorry...

Code:
%------------------- Datumsumwandlung -------------------------------------
YYYYMMDDhhmm = yea*1E8 + mon*1E6 + day*1E4 + hh*1E2+ mm;

%% Datumsumrechung in serielles Datum
YYYY  = fix(YYYYMMDDhhmm*1E-8);
MM    = fix((YYYYMMDDhhmm-YYYY*1E8)*1E-6);
DD    = fix((YYYYMMDDhhmm-YYYY*1E8-MM*1E6)*1E-4);
hh    = fix((YYYYMMDDhhmm-YYYY*1E8-MM*1E6-DD*1E4)*1E-2);
mm    = fix(YYYYMMDDhhmm-YYYY*1E8-MM*1E6-DD*1E4-hh*1E2);
sdate = datenum(YYYY,MM,DD,hh,mm,00);
Private Nachricht senden Benutzer-Profile anzeigen
 
Dagnabit
Forum-Century

Forum-Century


Beiträge: 244
Anmeldedatum: 23.04.09
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 06.05.2009, 14:15     Titel:
  Antworten mit Zitat      
Servus eve

Vielleicht versteh ich Deine obigen Zeilen falsch.

Aber so wie das aussieht, baust Du Dir "YYYYMMDDhhmm" um es sofort wieder zu zerlegen.
Was wäre, wenn du das so machst?:
Code:
sdate = datenum([ yea mon day hh mm 00]


Mit den Sekunden wäre es dann praktisch das Selbe
Code:
sdate = datenum([ yea mon day hh mm ss]


lg
Martin
Private Nachricht senden Benutzer-Profile anzeigen
 
eve
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 41
Anmeldedatum: 18.08.08
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 06.05.2009, 14:27     Titel:
  Antworten mit Zitat      
Hi Martin!
Mercí, für deine rasche Antwort!
Habe nun folgendes, aber auf der x-Achse zeigt er mir immer noch nicht die richtige Zeit an...
Code:
%Einlesen der Daten von Eichung

%----------------------- Einlesen ------------------------------------------
[hh,mm,ss,Kro_tr,Kro_Td,SN102,Psy_f,Psy_tr,Cam107,T_ref] = ...
    textread('T_Eich.TXT','%f %*1c %f %*1c %f %f %f %f %f %f %f %f',-1,'headerlines',19);

sdate = datenum(hh,mm,ss);

%---------------------- Überblick -----------------------------------------
% Überblicksplot Temperaturen im guten Bereich [10:85]
figure(1)
plot(sdate(10:85,:),Kro_tr(10:85,:),'c'); hold on;
plot(sdate(10:85,:),SN102(10:85,:),'r'); hold on;
plot(sdate(10:85,:),Psy_tr(10:85,:),'m'); hold on;
plot(sdate(10:85,:),Cam107(10:85,:),'g');
datetick('x',15,'keepticks','keeplimits');
grid on;
legend('Kroneis tr','SN102','Psy tr','Camp107');
ylabel('Temperatur [°C]');


Wo kann der Fehler sein? Bin noch nicht mal genügend in matlab...
Private Nachricht senden Benutzer-Profile anzeigen
 
Dagnabit
Forum-Century

Forum-Century


Beiträge: 244
Anmeldedatum: 23.04.09
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 06.05.2009, 14:36     Titel:
  Antworten mit Zitat      
Wenn Du mit "nicht richtig"die fehlenden Sekunden meinst;
Du musst in datetick 13 statt 15 als Format wählen.

Wenn Du mit "nicht richtig" was anderes meinst, beschreibe das "nicht richtig" Wink .

lg
Martin
Private Nachricht senden Benutzer-Profile anzeigen
 
eve
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 41
Anmeldedatum: 18.08.08
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 06.05.2009, 14:43     Titel:
  Antworten mit Zitat      
Ja, das ist mir auch aufgefallen...Embarassed
Er zeigt zwar die Zeit 00:00:00 an in der fig, aber nicht die im txt-file...
Private Nachricht senden Benutzer-Profile anzeigen
 
Dagnabit
Forum-Century

Forum-Century


Beiträge: 244
Anmeldedatum: 23.04.09
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 06.05.2009, 15:08     Titel:
  Antworten mit Zitat      
Wenn mich nicht alles täuscht, sollte folgende Zeile Dein problem beheben:

Code:
...
datetick('x',15,'keepticks','keeplimits');
set('XTick', [sdate(10) : 1/24 : sdate(85)])
...


lg
Martin
Private Nachricht senden Benutzer-Profile anzeigen
 
Neues Thema eröffnen Neue Antwort erstellen



Einstellungen und Berechtigungen
Beiträge der letzten Zeit anzeigen:

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 | goMatlab RSS Button RSS

Hosted by:


Copyright © 2007 - 2024 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.