Split numerical double array to multiple columns?

7 visualizaciones (últimos 30 días)
Kate
Kate el 22 de Mzo. de 2017
Comentada: the cyclist el 23 de Mzo. de 2017
Hey guys,
I'm sure there's a simple workaround for this but I can't seem to find it. I have data with the following format
whos data
Name Size Bytes Class Attributes
data 1095x9 78840 double
data(1:10, 1)
ans =
20090101
20090102
20090103
20090104
20090105
20090106
20090107
20090108
20090109
20090110
It's currently in the format of yearmonthday, but I would like to pull them apart to look at year, month, day. How do I pull, for example, the first 4 numbers from a double array?

Respuesta aceptada

the cyclist
the cyclist el 22 de Mzo. de 2017
Like this?
data = [
20090101
20090102
20090103
20090104
20090105
20090106
20090107
20090108
20090109
20090110]
year = floor(data/10000)
month = floor((data-year*10000)/100)
day = data-year*10000-month*100
  2 comentarios
Kate
Kate el 22 de Mzo. de 2017
Floor, thats what I was looking for, thanks! I was doing a bunch of num2str, str2num messiness. Thanks :)
the cyclist
the cyclist el 23 de Mzo. de 2017
Glad it helped. The best form of thanks is to upvote and/or accept answers that you've found helpful. This rewards the contributor, and can guide future users to helpful answers.

Iniciar sesión para comentar.

Más respuestas (1)

Kate
Kate el 22 de Mzo. de 2017
Yep! This also works but it's very inefficient in my mind:
w=num2str(data(:, 1));
yr=str2num(w(:, 1:4))
month=str2num(w(:, 5:6));
day=str2num(w(:, 7:8));

Categorías

Más información sobre Startup and Shutdown en Help Center y File Exchange.

Etiquetas

Community Treasure Hunt

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

Start Hunting!

Translated by