格式化字符数组

时间:2012-07-26 16:12:47

标签: string matlab datetime matrix cell-array

  

可能重复:
  Counting values by day/hour with timeseries in MATLAB

这是一个基本问题,但我找不到它:

我有一个3000x25字符数组:

2000-01-01T00:01:01+00:00
2000-01-01T00:01:02+00:00
2000-01-01T00:01:03+00:00
2000-01-01T00:01:04+00:00

这些显然是时代。我想将数组重新格式化为3000x1数组。如何将每一行重新定义为数组中的一个条目?

(再次,这很简单,对不起)

2 个答案:

答案 0 :(得分:3)

除了转换为其他显示的序列号码之外,我想您只想转换为字符串的单元格数组:

A = cellstr(c)

其中c是3000x25字符矩阵。

答案 1 :(得分:1)

您需要为数组指定格式并将其提供给datenum,如下所示:

>> d = datenum(c,'YYYY-MM-DDTHH:mm:ss')
d =
  1.0e+005 *
    7.3487
    7.3487
    7.3487
    7.3487

现在将时间存储为datenums,即表示自Matlab时代开始以来经过的天数的浮点数。如果您想将这些转换为代表当天过去一小部分的数字,您可以

>> t = d - fix(d);

如果您想要自午夜以来的秒数,您可以

>> t = 86400 * (d - fix(d));
t =
   61.0000
   62.0000
   63.0000
   64.0000