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

Handling von "Datetime"

 

spetraschek
Forum-Newbie

Forum-Newbie


Beiträge: 7
Anmeldedatum: 29.05.19
Wohnort: Wien
Version: ---
     Beitrag Verfasst am: 15.04.2020, 15:30     Titel: Handling von "Datetime"
  Antworten mit Zitat      
ich habe mir von der Polarseite ein CSV-File einer Traininseinheit ausgeben lassen um mir ein paar Dinge in Matlab näher anschauen zu können.
Natürlich ist die Pace (also min/km, das ist die klassische Einheit in der Läufer ihre Geschwindigkeit angeben weil sie leicht zu Messen ist) in einem "Datetime-Vektor", mit der ich im Gesamtkontext wenig anfangen kann, da ich sie zum Beispiel nicht parallel zum Puls ploten kann.
Ich würde also diesen Wert gerne in Dezimalform bringen - also 4:30 = 4,5, 4:45 = 4,75 etc. gibt es dafür eine Funktion oder irgendeinen Workaround? Matlab lässt mich auf diesen Datime-Vektor keine der normalen Rechenoperationen ausführen.
Private Nachricht senden Benutzer-Profile anzeigen


Harald
Forum-Meister

Forum-Meister


Beiträge: 24.460
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 15.04.2020, 18:52     Titel:
  Antworten mit Zitat      
Hallo,

datetimes oder auch durations können sehr wohl geplottet werden. Wenn es also nur darum geht, kannst du dir jegliche Umrechnungen sparen.
Umwandlungen sind z.B. mit datenum , minute und second möglich. Beispiel:

Code:
d = datetime("now");
minute(d) + second(d)/60


Für weitere Unterstützung wäre ein kleines Datenbeispiel hilfreich. Und bitte angeben, was du unter "normalen Rechenoperationen" verstehst.

Grüße,
Harald
_________________

1.) Ask MATLAB Documentation
2.) Search gomatlab.de, google.de or MATLAB Answers
3.) Ask Technical Support of MathWorks
4.) Go mad, your problem is unsolvable ;)
Private Nachricht senden Benutzer-Profile anzeigen
 
spetraschek
Themenstarter

Forum-Newbie

Forum-Newbie


Beiträge: 7
Anmeldedatum: 29.05.19
Wohnort: Wien
Version: ---
     Beitrag Verfasst am: 15.04.2020, 19:07     Titel:
  Antworten mit Zitat      
Danke für die Antwort erstmal.
Sie können schon geplottet werden, aber nicht gleichzeitig mit Integer-Zahlen. Also ich will zum Beispiel meine Pace und den Puls übereinander plotten. Der Puls ist ein Integer, die Pace eine Zeit.
Datenbeispiel hab ich schon gegeben, ich mache es nochmal deutlicher:
Im Vektor "pace" stehen werte wie z.B. 4:30, 5:20, 5:00, 6:25... diese Werte repräsentieren die Geschwindigkeit zu dem Zeitpunkt in der Form Minuten pro Kilometer. also wenn ich mit Pace 4:30 laufe, dann brauche ich mit diesem Tempo für einen Kilometer genau 4:30. also handelt es sich um eine Zeitangabe, wenn auch nur eine hochgerechnete.
Um jetzt zu wissen, welchen Puls ich zum jeweiligen Zeitpunkt hatte und wie dieser mit dem gelaufenen Tempo korreliert möchte ich beide übereinander plotten und das funktioniert nicht, da die Datentypen unterschiedliche sind. Um das zu bewerkstelligen möchte ich die Zeiten in Dezimalzahlen umrechnen. also 4:30 = 4,5 (also vier Minuten und eine halbe Minute).
Die Uhr nimmt jede Sekunde einen Wert, das heißt ich habe etwa 2500 werte in dem Vektor.
ist das Problem jetzt klarer?
Private Nachricht senden Benutzer-Profile anzeigen
 
Harald
Forum-Meister

Forum-Meister


Beiträge: 24.460
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 15.04.2020, 19:09     Titel:
  Antworten mit Zitat      
Hallo,

ja, das Problem ist klarer.
Hast du denn meinen Vorschlag zur Umwandlung mit minute und second versucht?

Grüße,
Harald
_________________

1.) Ask MATLAB Documentation
2.) Search gomatlab.de, google.de or MATLAB Answers
3.) Ask Technical Support of MathWorks
4.) Go mad, your problem is unsolvable ;)
Private Nachricht senden Benutzer-Profile anzeigen
 
spetraschek
Themenstarter

Forum-Newbie

Forum-Newbie


Beiträge: 7
Anmeldedatum: 29.05.19
Wohnort: Wien
Version: ---
     Beitrag Verfasst am: 15.04.2020, 20:23     Titel:
  Antworten mit Zitat      
ja, hab ich versucht, das gibt aber ganz seltsame werte aus... also ich habs adaptiert, weil ich dachte, bei dir muss ein denkfehler drinnen sein, ich habs in reine sekunden umgewandelt, also
pace2 = minute(pace*60+second(pace)
nach meiner logik müsste das einen vektor mit den sekunden jedes wertes ergeben... de facto kommen werte dabei heraus die sich im bereich einer stunde (3500 sekunden) bewegen, zwischendurch wieder 0... also ich hab keine ahnung was er da tut.

aber letztendlich bin ich eh draufgekommen, dass ich ja sowieso zwei verschiedene y-achsen brauche, um etwas erkennen zu können weil die werte von puls und pace in ganz anderen größenordnungen liegen, also
Code:
[ax, h1, h2] = plotyy(distance, speed, distance, HR);
set(get(ax(1),'Ylabel'), 'String', 'Tempo [km/h]', 'FontWeight', 'Bold')
set(get(ax(2),'Ylabel'), 'String', 'Puls [bpm]', 'FontWeight', 'Bold')

und damit kann ich dann auch die Zeiten darstellen.
was ich nicht verstehe ist warum mir die achsenbeschriftung nur anzeigt, wenn ich fontweight bold angebe..,
Private Nachricht senden Benutzer-Profile anzeigen
 
Harald
Forum-Meister

Forum-Meister


Beiträge: 24.460
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 15.04.2020, 20:39     Titel:
  Antworten mit Zitat      
Hallo,

Zitat:
pace2 = minute(pace*60+second(pace)

Da fehlt eine Klammer. Und ein Grund für unsinnige Ergebnisse könnte sein, dass die fehlende Klammer an der falschen Stelle geschlossen wurde. Mit
Code:
pace2 = minute(pace)*60+second(pace)

sollte es passen.

Zitat:
was ich nicht verstehe ist warum mir die achsenbeschriftung nur anzeigt, wenn ich fontweight bold angebe..,

Um das zu beantworten, bräuchte ich ein reproduzierbares Beispiel. plotyy ist übrigens laut Doku nicht mehr empfohlen, stattdessen yyaxis.

Grüße,
Harald
_________________

1.) Ask MATLAB Documentation
2.) Search gomatlab.de, google.de or MATLAB Answers
3.) Ask Technical Support of MathWorks
4.) Go mad, your problem is unsolvable ;)
Private Nachricht senden Benutzer-Profile anzeigen
 
spetraschek
Themenstarter

Forum-Newbie

Forum-Newbie


Beiträge: 7
Anmeldedatum: 29.05.19
Wohnort: Wien
Version: ---
     Beitrag Verfasst am: 19.04.2020, 16:44     Titel:
  Antworten mit Zitat      
sorry, ich hab versehentlich im benachrichtigungs mail auf "beitrag nicht mehr abonieren" oder wie das heißt geklickt, und damit natürlich nicht mitbekommen, dass ich wieder eine Antwort habe.
was meinst du mit "lauffähig"? der code oben ist ja eins zu eins kopiert, die benutzten datensätze sind vektoren mit jeweils ca 2500 werten,
Code:
[ax, h1, h2] = plotyy(distance, speed, distance, HR);
set(get(ax(1),'Ylabel'), 'String', 'Tempo [km/h]', 'FontWeight', 'Bold')
set(get(ax(2),'Ylabel'), 'String', 'Puls [bpm]', 'FontWeight', 'Bold')

distance sind fortlaufende meterangaben von 0 bis knapp 7000, speed sind km/h werte etwa um 10 km/h herum und HR sind Pulswerte um die 170 bpm herum (ja, ich habe generell einen relativ hohen puls Very Happy ). Die werte habe ich von meiner uhr exportiert.
was fehlt da noch um ein reproduzierbares beispiel zu posten?
Private Nachricht senden Benutzer-Profile anzeigen
 
Harald
Forum-Meister

Forum-Meister


Beiträge: 24.460
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 19.04.2020, 17:22     Titel:
  Antworten mit Zitat      
Hallo,

Zitat:
was fehlt da noch um ein reproduzierbares beispiel zu posten?

Ein tatsächliches Datenbeispiel, bei dem das Problem auftritt. Das ist ja keine so unübliche Art, den Befehl zu verwenden. Da mir da kein Bug bekannt ist, vermute ich, dass das Problem speziell mit den Daten auftritt.
Nun habe ich zu viele Beiträge der Form "bei meinen Daten funktioniert es nicht" - "Bei Beispieldaten dieser Form schon" - "Ja, dann bei mir auch" - "Was ist bei deinen Daten denn anders?" - "Ja, keine Ahnung..." hinter mir als dass ich Zeit damit verbringen möchte, selber Daten zu erzeugen.

Und nochmal der Hinweis:
Zitat:
plotyy ist übrigens laut Doku nicht mehr empfohlen, stattdessen yyaxis.


Grüße,
Harald
_________________

1.) Ask MATLAB Documentation
2.) Search gomatlab.de, google.de or MATLAB Answers
3.) Ask Technical Support of MathWorks
4.) Go mad, your problem is unsolvable ;)
Private Nachricht senden Benutzer-Profile anzeigen
 
spetraschek
Themenstarter

Forum-Newbie

Forum-Newbie


Beiträge: 7
Anmeldedatum: 29.05.19
Wohnort: Wien
Version: ---
     Beitrag Verfasst am: 19.04.2020, 17:31     Titel:
  Antworten mit Zitat      
ok, ich werde mir das ganze mal mit verschiedenen daten anschauen und dann nochmal hier posten, wobei ich bei ein bisschen überlegen auf die idee gekommen bin, dass eventuell das problem garnicht an "fontweight bold" liegt, sondern, dass plotyy eventuell einfach wirklich keinen default-wert für standardschrift hat und einfach irgendeine angabe dazu benötigt.
yyaxis muss ich mit anschauen. ich bin beim googlen über diesen code gestolpert und der hat das gemacht was er soll, also hab ich den mal benutzt. auf lange sicht möchte ich aber ohnehin ein fertiges script machen, welches mir die daten gleich fertig auswertet, da werde ich mir yyaxis mal anschauen, und vor allem was der unterschied zu plotyy ist. ich kannte beide funktionen bis dato nicht.
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.