Filter löschen
Filter löschen

Convert cell to time or double

3 Ansichten (letzte 30 Tage)
Matt
Matt am 2 Aug. 2017
Kommentiert: Matt am 2 Aug. 2017
I currently have a cell array filled with times like the below. I am trying to convert this into a usable format so that I can use the times in a plot. Does anyone know how I would do this? I have tried using str2double but this returns the values as NaNs. Someone also suggested that I used regexp but this resulted in the same outcome.
'000:00h:00min:23:743:990µs'
  2 Kommentare
José-Luis
José-Luis am 2 Aug. 2017
I don't understand the format. What's 23:743:990?
Matt
Matt am 2 Aug. 2017
000days:00hours:00min:23sec:743ms:990µs.
Does this make more sense?

Melden Sie sich an, um zu kommentieren.

Akzeptierte Antwort

Jan
Jan am 2 Aug. 2017
Bearbeitet: Jan am 2 Aug. 2017
Join the cell string to a string at first, then parse it by sscanf:
C = {'000:00h:00min:23:743:990µs', '000:00h:00min:23:743:990µs'};
S = sprintf('%s*', C{:});
V = sscanf(S, '%d:%dh:%dmin:%d:%d:%dµs*', [6, inf]);
  1 Kommentar
Matt
Matt am 2 Aug. 2017
Hi Jan, this is very close to what I would like to achieve, thanks. This currently lists each time as a column. My preferred output would be a single double for each time so as I can use it for the x axis on a plot. Is this possible?

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Kategorien

Mehr zu Data Type Conversion finden Sie in Help Center und File Exchange

Produkte

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by