在Matlab

时间:2018-02-04 11:01:28

标签: arrays matlab datetime cell

我有一个我称之为“Table”的单元格数组,如下面的代码所示(但我的数组有更多行)。第1列包含字符串格式的日期。我想添加一个包含datetime格式日期的附加列。我做了以下,这是有效的,但它非常慢。有哪些替代方案?

% Table that I have:

Table{1,1} = 'Stringdate';
Table{2,1} = '01.01.1999';
Table{3,1} = '02.01.1999';
Table{4,1} = '03.01.1999';
Table{5,1} = '04.01.1999';

% What I want to add:

Table{1, size(Table,2)+1} = 'Datetime';

for index = 2:length(Table)
    Table{index, size(Table,2)} = datetime(Table{index, 1});
end

1 个答案:

答案 0 :(得分:3)

您可以一次性对所有这些应用datetime并仅使用num2cell并建立索引以获得与循环相同的结果。

Table(2:end,2) = num2cell(datetime(Table(2:end,1)));
%You might need to specify the InputFormat as well i.e.
%Table(2:end,2) = num2cell(datetime(Table(2:end,1),'InputFormat','dd.MM.yyyy'));