Convert cell to time or double

3 vues (au cours des 30 derniers jours)
Matt
Matt le 2 Août 2017
Commenté : Matt le 2 Août 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 commentaires
José-Luis
José-Luis le 2 Août 2017
I don't understand the format. What's 23:743:990?
Matt
Matt le 2 Août 2017
000days:00hours:00min:23sec:743ms:990µs.
Does this make more sense?

Connectez-vous pour commenter.

Réponse acceptée

Jan
Jan le 2 Août 2017
Modifié(e) : Jan le 2 Août 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 commentaire
Matt
Matt le 2 Août 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?

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

En savoir plus sur Characters and Strings dans Help Center et File Exchange

Produits

Community Treasure Hunt

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

Start Hunting!

Translated by