2013-05-02 2 views
2

У меня есть данные в Excel в виде меток времени с его выглядит какExcel для MatLab временных меток

30/11/12 12:42 AM 
30/11/12 12:47 AM 
30/11/12 12:56 AM 
30/11/12 1:01 AM 

мне нужно, чтобы заставить его MatLab выглядеть как этот

dateStrings = {... 
'30/11/12 12:42 AM' ... 
'30/11/12 12:47 AM' ... 
'30/11/12 12:56 AM' ... 
'30/11/12 1:01 AM' ... 
}; 

Я попытался xlsread но он не помещается в строки.

+1

Как хранятся данные на листе Excel? Что вы получаете вместо строк? Каков точный синтаксис 'xlsread', который вы использовали? –

+0

в виде формата данных времени, чтобы вы могли его видеть, а вместо строк он ничего не читает, dateStr = xlsread ('C: \ Users \ Ondra \ Dropbox \ Thesis \ Matlab \ Room.xls', 'Данные'); – 2013-05-02 14:28:57

+0

Это один столбец, содержащий данные? Вы получаете пустой массив для этого? –

ответ

0

Следующие работы для меня (в октаву, но должны быть такими же в MATLAB):

>> [num,txt,raw]=xlsread('dates.xls','A1:A4') 
num = 

    4.1243e+004 
    4.1243e+004 
    4.1243e+004 
    4.1243e+004 

txt = {}(0x0) 
raw = 
{ 
    [1,1] = 4.1243e+004 
    [2,1] = 4.1243e+004 
    [3,1] = 4.1243e+004 
    [4,1] = 4.1243e+004 
} 

>> datestr(num+datenum(1900,1,1,0,0,0)-2) 
ans = 

30-Nov-2012 00:42:00 
30-Nov-2012 00:47:00 
30-Nov-2012 00:56:00 
30-Nov-2012 01:01:00 

>> whos ans 
Variables in the current scope: 

Attr Name  Size      Bytes Class 
==== ====  ====      ===== ===== 
    ans   4x20      80 char 

Total is 80 elements using 80 bytes 

Отъезд datestr функция для различных параметров формата вывода.

Arnaud

0

мне удалось найти способ, как решить это

1. Copy and paste your dates into Excel in dd-mm-yyyy format 
2. In Excel, highlight the data and go Right Click, Format Cells/Number 
3. In Matlab go a=xlsread(xlsfile); 
4. Type datestr(a+693960) 
Смежные вопросы