如何使用textscan在MATLAB
问题描述:
我试图下面的文本文件inesrt到矩阵在MATLAB如何使用textscan在MATLAB
我试图用 'textscan'
fileID = fopen('Uz10.txt');
Uz10=textscan(fileID,'%d');
fclose(fileID);
但alwayes了,
Undefined operator '*' for input arguments of type 'cell'.
有人能给我正确的格式吗?
答
您可以修改你这样的代码:通过指定%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) cellarray
的int32
类型,其中包含每行的两位数字。然后你可以将它们连接起来,以便有一个(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”