Mein MATLAB Forum - goMatlab.de

Mein MATLAB Forum

 
Gast > Registrieren       Autologin?   
Bücher:

Fachkräfte:
Funktionsentwickler (w/m) Automobile
Entwicklung von modellbasierten Softwarelösungen in Simulink inklusive Autocode-Generierung
Bertrandt Ingenieurbüro GmbH - Frankfurt am Main

Softwareentwickler (m/w) automatische Codegenerierung
Umsetzung, Neuprogrammierung und Weiterentwicklung in Simulink, TargetLink und C
EFS - Ingolstadt, Wolfsburg

Software Entwicklungsingenieur (m/w) TargetLink
Modellbasierte Softwareentwicklung mit MATLAB/Simulink und dSPACE TargetLink
Continental AG - Nürnberg

Senior Engineer Power Electronics Design (f/m)
Design and development of power electronics building blocks to meet all requirements
Maschinenfabrik Reinhausen GmbH - Regensburg

Entwicklungsingenieur (m/w) Umfelderfassung und Sensorfusion
Entwicklung von Algorithmen mit Computer Vision und Image Processing Toolboxen
Bertrandt Ingenieurbüro GmbH - Frankfurt am Main

weitere Angebote

Partner:


Vermarktungspartner


Forum
      Option
[Erweitert]
  • Diese Seite per Mail weiterempfehlen
     


Gehe zu:  
Neues Thema eröffnen Neue Antwort erstellen

Gleicher Abstand in bestehender Tabelle erzeugen (Fitbit)

 

Gast



Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 31.01.2018, 23:06     Titel: Gleicher Abstand in bestehender Tabelle erzeugen (Fitbit)
  Antworten mit Zitat      
Hallo Zusammen,

ich bin auf der Suche nach einer Loesung fuer folgendes Problem:
Eine CSV Tabelle mit 2 Spalten und 800 Zeilen gibt mir die Auskunft ueber die Herzfrequenz zu einer bestimmten Sekunde.
z.B.
hh:mm:ss - Frequenz
12:01:00 - 70
12:01:05 - 70
12:01:15 - 72
12:01:25 - 74
12:01:30 - 73
12:01:45 - 73
12:01:50 - 72
12:01:55 - 71


wie ihr seht sind die Sekunden jedoch nicht einheitlich gemessen. Ich moechte die Tabelle so umbauen das es wie folgt aussieht (alle 5 Sekunden ein Wert)

12:01:00 - 70
12:01:05 - 70
12:01:10 - NaN
12:01:15 - 74
12:01:20 - NaN
12:01:25 - 73
12:01:30 - 72
12:01:35 - NaN

Die dann fehlenden Werte plane ich durch eine interpolation zu erzeugen.

Kann mir einer einen guten Tipp geben wie ich vorgehen soll?

Vielen vielen Dank! Wink

Rob


Harald
Forum-Meister

Forum-Meister


Beiträge: 17.965
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2014a
     Beitrag Verfasst am: 31.01.2018, 23:41     Titel:
  Antworten mit Zitat      
Hallo,

als Table importieren (readtable), in Timetable umwandeln (table2timetable) und dann retime verwenden. Das macht auch gleich die Interpolation.

Grüße,
Harald
Private Nachricht senden Benutzer-Profile anzeigen
 
Gast



Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 01.02.2018, 08:21     Titel:
  Antworten mit Zitat      
Hallo Harald,

super - vielen dank für den Tipp.
Weißt du auch wie ich das Zeitintervall auf 5 Sekunden anstatt 1 Sekunde erhöhe?

Derzeit sieht mein Befehl so aus:
Code:
HRData2 = retime(HRData, 'secondly', 'spline');



Vielen Dank im Voraus!
Rob
 
Harald
Forum-Meister

Forum-Meister


Beiträge: 17.965
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2014a
     Beitrag Verfasst am: 01.02.2018, 21:09     Titel:
  Antworten mit Zitat      
Hallo,

dazu musst du einen Zeitvektor mit diesem Inkrement erstellen. Sollte etwa so gehen (ohne es getestet zu haben):

Code:
tSoll = datetime(2018,2,1):seconds(5):datetime(2018,2,2)


Das kannst du dann an retime übergeben.

Grüße,
Harald
Private Nachricht senden Benutzer-Profile anzeigen
 
Gast



Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 02.02.2018, 23:42     Titel:
  Antworten mit Zitat      
Hallo Harald,

vielen Dank fuer den Hinweis. Ich habe es nun nach der retime mit
Code:
HRData5Sec = HRDataSec (1:5:end,:));


gemacht. Mit deinem Vorschlag sind die Herzfrequenzen zu den jeweiligen Zeiten verschwunden und die ZeitSpalte wurde zur Zeile.

Jetzt steht allerdings mein naechstes Problem an bei dem ich derzeit nicht weiterkomme (bin leider noch in den Matlab Kinderschuhen...)

Ich moechte die Zeiten fuer die Datei neu definieren. Sie sollen also nicht bei 2018 02 03 14:51:00 beginnen sondern z.b. bei 2018 02 02 00:00:00 und bei 2018 02 03 23:59:55 enden.
Die dabei offenen Zeitangaben (da die Messungen i.d.r. nicht um 00:00:00 tatsaechlich begonnen haben) moechte ich z.B. mit eine 0 oder NaN fuellen.

Ich hatte an
Code:

gedacht, aber ich vermute ich bin auf dem Holzweg da ich meiner Zeittabelle hier nicht viel veraendern kann.

Was meinst du?

Viele Gruesse
 
Harald
Forum-Meister

Forum-Meister


Beiträge: 17.965
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2014a
     Beitrag Verfasst am: 03.02.2018, 11:53     Titel:
  Antworten mit Zitat      
Hallo,

auch das sollte mit retime gehen. Du musst nur den passenden Zeitvektor angeben.

Grüße,
Harald
Private Nachricht senden Benutzer-Profile anzeigen
 
Gast



Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 15.02.2018, 21:38     Titel:
  Antworten mit Zitat      
Danke für die viele Unterstützung.
Kannst du mir bei folgendem Problem helfen?

Ich habe eine große Tabelle in der 1 Spalte das Datum und 1 die Zeit angibt.
Ich möchte nun gerne diese beiden Spalten miteinander kombinieren, sodass ich dd/mm/yyyy hh:mm:ss in einer Spalte bekomme.

Date-Spalte ist im datetime-Format
Time-Spalte ist im cell-Format

Hab einen Screenshot angehangen falls es das etwas besser beschreibt.

Bin noch ganz am Anfang meiner Matlab-Karriere Sad Sorry als wenn es eine doofe Frage ist.

Viele Grüße

Tab_Screen.jpg
 Beschreibung:

Download
 Dateiname:  Tab_Screen.jpg
 Dateigröße:  84.82 KB
 Heruntergeladen:  6 mal
 
Harald
Forum-Meister

Forum-Meister


Beiträge: 17.965
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2014a
     Beitrag Verfasst am: 16.02.2018, 10:02     Titel:
  Antworten mit Zitat      
Hallo,

Code:
Date = datetime(2018, 1:3, 1:3)';
Time = {'00:01:02', '01:02:03', '02:03:04'}';
T.FullTime = datetime(strcat(datestr(T.Date), {' '}, T.Time))


Daten bitte immer als .mat anhängen oder die Art der Erzeugung reproduzierbar posten. Ich habe ebenso lange gebraucht, Beispieldaten zu generieren wie das Problem zu lösen.

Grüße,
Harald
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
.


goMatlab ist ein Teil des goForen-Labels
goForen.de goMATLAB.de goLaTeX.de goPCB.de


 Impressum  | Nutzungsbedingungen  | Datenschutz  | Werbung/Mediadaten | Studentenversion | FAQ | goMatlab RSS Button RSS


Copyright © 2007 - 2018 goMatlab.de | Dies ist keine offizielle Website der Firma The Mathworks
Partner: LabVIEWforum.de

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.