如何在Matlab中预分配数据时间数组?

时间:2018-04-30 07:18:32

标签: matlab datetime

我想在Matlab中计算长日期时间数组,因此希望预先分配它。不幸的是,当我使用NaT时,我正在失去时间组件:

>> [datetime(1441411200,'ConvertFrom','posixtime'), datetime(1441411500,'ConvertFrom','posixtime')]
ans = 
  1×2 datetime array
   05-Sep-2015 00:00:00   05-Sep-2015 00:05:00

>> A=NaT(2,1)
A = 
  2×1 datetime array
   NaT
   NaT

>> A(1)=datetime(1441411200,'ConvertFrom','posixtime'); A(2)=datetime(1441411500,'ConvertFrom','posixtime');
>> A
A = 
  2×1 datetime array
   05-Sep-2015
   05-Sep-2015

如何完成?

Matlab版本为2016b

1 个答案:

答案 0 :(得分:4)

这里唯一的问题是Format创建的数组的NaT属性 - 它获得了不同的默认值。所以,你可以这样做:

A = NaT(2, 1);
A.Format = 'dd-MMM-uuuu HH:mm:ss';
A(1) = datetime()

导致

A = 
  2×1 datetime array
   30-Apr-2018 10:34:47
   NaT