Convert cell to time or double

3 visualizaciones (últimos 30 días)
Matt
Matt el 2 de Ag. de 2017
Comentada: Matt el 2 de Ag. de 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 comentarios
José-Luis
José-Luis el 2 de Ag. de 2017
I don't understand the format. What's 23:743:990?
Matt
Matt el 2 de Ag. de 2017
000days:00hours:00min:23sec:743ms:990µs.
Does this make more sense?

Iniciar sesión para comentar.

Respuesta aceptada

Jan
Jan el 2 de Ag. de 2017
Editada: Jan el 2 de Ag. de 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 comentario
Matt
Matt el 2 de Ag. de 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?

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

Más información sobre Characters and Strings en Help Center y File Exchange.

Etiquetas

Productos

Community Treasure Hunt

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

Start Hunting!

Translated by