2015-10-02 6 views
0

Я использую MATLAB R2015b. Я пытаюсь импортировать файл excel, полный дат, используя xlsread('filename.xls'). Даты выглядят следующим образом:Как импортировать даты в MATLAB

02/01/1996 
03/01/1996 
04/01/1996 
05/01/1996 
08/01/1996 

, тогда я хочу использовать datevec для разделения дня месяца и года. на дату = '02/01/1996 '(2 января 1996 года), datevec дает Y= 1996, M = 2, D= 1,H=0 MN=0 S=0. На дату «29/12/2000» (29 декабря 2000 года) datevec дает Y = 35, M=5 D =23 H=0 MN=0 S=0. Я попытался изменить формат даты в excel, но он все равно не работает. Может ли кто-нибудь дать мне знать, как я могу это исправить?

ответ

2

DateVector = datevec(DateString,formatIn)

В соответствии с documentation. Установите ваш formatIn правильно:

DateString = {'16/09/2007';'14/05/1996';'29/11/2010'}; 
formatIn = 'dd/mm/yyyy'; 
datevec(DateString,formatIn) 

Поскольку MATLAB является американской программой все их значение по умолчанию является американским (и, следовательно вы не в состоянии назвать ваш colourbar, как вы хотите). Вам просто нужно выбрать другой формат даты.

+0

Большое спасибо. Оно работает. Но есть ли способ определить формат даты, когда я импортирую его? Я импортирую данные с помощью [ddata, dnames] = xlsread ('filename'). Затем я определяю дату, используя date = dnames (:, 1). Есть ли способ сообщить Matlab формат даты здесь? – fly36

+0

то, как вы определяете 'date', есть строка, которая не имеет формата в соответствии с MATLAB. Когда вы анализируете его на другие функции, такие как 'datevec' или' datenum', вы должны указать формат. Возвращаясь к строкам с помощью 'datestr', вы также можете указать формат. – Adriaan

+0

Привет Adriaan. Спасибо за Ваш ответ. Это действительно полезно. Но у меня все еще есть проблемы. После загрузки данных с использованием [ddata, dnames] = xlsread ('Filename') и чтения даты с использованием date = dnames (end, 1). Затем мне нужно сделать некоторые вычисления, используя эту дату. Однако Matlab не может распознать правильный формат этой даты. Можете ли вы научить меня, как сообщить Matlab, что дата - dd/mm/yyyy, пожалуйста. – fly36

Смежные вопросы