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

0 votes

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

Produits

Question posée :

le 2 Août 2017

Commenté :

le 2 Août 2017

Community Treasure Hunt

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

Start Hunting!

Translated by