如何在matlab中使用textscan
how to use textscan in matlab
我正在尝试将以下文本文件插入到 matlab 中的矩阵中
我尝试使用 'textscan'
fileID = fopen('Uz10.txt');
Uz10=textscan(fileID,'%d');
fclose(fileID);
但总有,
Undefined operator '*' for input arguments of type 'cell'.
谁能给我正确的格式?
您可以这样修改代码:
1) 通过将 %s
指定为 format
:在这种情况下,textscan
returns 一个 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
指定为 format
:在本例中,textscan
returns int32
类型的 (1x2) cellarray
包含每行的两位数。然后你可以连接它们以获得一个 (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
...
我正在尝试将以下文本文件插入到 matlab 中的矩阵中
我尝试使用 'textscan'
fileID = fopen('Uz10.txt');
Uz10=textscan(fileID,'%d');
fclose(fileID);
但总有,
Undefined operator '*' for input arguments of type 'cell'.
谁能给我正确的格式?
您可以这样修改代码:
1) 通过将 %s
指定为 format
:在这种情况下,textscan
returns 一个 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
指定为 format
:在本例中,textscan
returns int32
类型的 (1x2) cellarray
包含每行的两位数。然后你可以连接它们以获得一个 (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
...