2017-09-24 116 views
0

我試圖下面的文本文件inesrt到矩陣在MATLAB如何使用textscan在MATLAB

time.txt

我試圖用 'textscan'

fileID = fopen('Uz10.txt'); 

Uz10=textscan(fileID,'%d'); 

fclose(fileID); 

但alwayes了,

Undefined operator '*' for input arguments of type 'cell'. 

有人能給我正確的格式嗎?

回答

0

您可以修改你這樣的代碼:通過指定%s作爲format

1):在這種情況下,textscan返回一個字符串的cellarray

fileID = fopen('Uz10.txt'); 
% Uz10=textscan(fileID,'%d:%d'); 
Uz10=textscan(fileID,'%s'); 
fclose(fileID); 

輸出

>> Uz10{1} 

ans = 

    '0:00' 
    '0:10' 
    '0:20' 
    '0:30' 
    ... 

2)通過指定%d:%d a s format:在這種情況下,textscan返回(1x2) cellarrayint32類型,其中包含每行的兩位數字。然後你可以將它們連接起來,以便有一個(nx2)矩陣

fileID = fopen('Uz10.txt'); 
Uz10=textscan(fileID,'%d:%d'); 
% Uz10=textscan(fileID,'%s'); 
fclose(fileID); 

t=[Uz10{1} Uz10{2}] 

輸出

>> t=[Uz10{1} Uz10{2}] 

t = 

      0   0 
      0   10 
      0   20 
      0   30 
      ...  ... 

如果你想以管理爲time data您可以使用功能datetime數據。

例如(使用第一以上format的讀取輸入文件):

datetime(Uz10{1},'InputFormat','m:ss') 

輸出

>> datetime(Uz10{1},'InputFormat','m:ss') 

ans = 

    24-Sep-2017 00:00:00 
    24-Sep-2017 00:00:10 
    24-Sep-2017 00:00:20 
    24-Sep-2017 00:00:30 
    ... 

希望這有助於,

Qapla」