Почему год в моем категориальном массиве не конвертируется должным образом в Matlab? - PullRequest
1 голос
/ 30 октября 2019

У меня есть следующий catergorical массив в Matlab

time(1:3)

ans = 

  3×1 categorical array

     13-10-19 00:03 
     13-10-19 00:08 
     13-10-19 00:12 

Я хочу использовать его как ось X для временных рядов, для этого мне нужно это как строка времени, так что я сделалэто следующее

string(time(1:3))

ans = 

  3×1 string array

    "13-10-19 00:03"
    "13-10-19 00:08"
    "13-10-19 00:12"

Если я произвожу его, используя datetime или datestr, год кажется потерянным или неправильно конвертированным

datetime(string(time(1:3)))

ans = 

  3×1 datetime array

   19-Oct-0013 00:03:00
   19-Oct-0013 00:08:00
   19-Oct-0013 00:12:00

datestr(string(time(1:3)))

ans =

  3×20 char array

    '19-Oct-0013 00:03:00'
    '19-Oct-0013 00:08:00'
    '19-Oct-0013 00:12:00'

Почему это так? Как правильно конвертировать год?

Заранее спасибо!

1 Ответ

2 голосов
/ 30 октября 2019

Вы должны указать InputFormat :

datetime(string(time(1:3)),'InputFormat','dd-MM-yy HH:mm')

или

datetime(string(time(1:3)),'InputFormat','yy-MM-d HH:mm')

, если это 2013 в вашем примере. Это не совсем ясно из дат.

...