我有一些数据,我正在解析一组文件。 这些文件包含许多数据点的年,月,日,小时,分钟和秒分界。
以下是流的示例:
> 2010/01/01,00:00:00.979131, 27.4485, 51.9362, 14.8, 6
> 2010/01/01,00:00:01.021977, 27.5149, 51.9375, 16.0, 6
> 2010/01/01,00:00:01.074032, 27.4797, 51.9446, 14.5, 10
> 2010/01/01,00:00:01.663689, 25.8441,-152.8141, 14.6, 6
到目前为止,我可以这样做以获得秒数:
raw = textscan(fid, '%d/%d/%d %d:%d:%f %f %f %f %d', 'delimiter', ',');
m = cellfun(@double, raw, 'UniformOutput', false); %convert to doubles
seconds = ((m{:,4} * 3600.0) + (m{:,5} * 60.0) + m{:,6});
放弃这一年,我如何使用我拥有的东西,加上一些涉及月和日的特殊魔法来创建一个单调递增的数字,表示一年中的天数作为浮动?
答案 0 :(得分:2)
使用datenum
,例如:
datenum(Y, M, D, H, MN, S)
返回Y,M,D,H,MN和S(年,月,日,小时,分钟和秒)数组值的相应元素的序列日期编号。 datenum在单独的输入中不接受毫秒,但是作为秒(DateString)输入的小数部分。输入Y,M,D,H,MN和S必须是double类型的相同大小(或任何可以是标量)的数组。您还可以将输入参数指定为日期向量,[Y M D H MN S]。