0

如何在 MATLAB 中导入以下文本数据文件:

day    time        price       volume
01     8:00:06    29.0000      1000
01     8:00:06    29.1000       200
01     8:02:08    29.0700      1000
01     8:03:12    29.0000      1000

我尝试了以下代码但不起作用:

fid = fopen('data.txt');
dateItem = [];
values = [];
while ~feof(fid)
  [dateItem]= [dateItem ; fscanf(fid,'%s %s',2)]; 
  [values]= [values ; fscanf(fid,'%f %f',2)];
end
fclose(fid);
4

2 回答 2

0

在终端输入“help importdata”将显示有关如何使用 importdata 功能的有用信息。或者,您可以使用主菜单上的 Import Data 功能(它是 MATLAB 2013 的一个大按钮,它位于以前版本的菜单栏上),它可以生成用于导入特定文件布局的代码。

于 2013-07-31T19:37:03.597 回答
0

很多小修复,

但这将是第一步

values = [];
dateItem= char(dateItem, fscanf(fid,'%s %s %s %s',4)); %If you don't want this remove the equal statement  but keep fscanf
while ~feof(fid)
  dateItem = char(dateItem, [fscanf(fid,'%s',1),' ', fscanf(fid,'%s',1)]); 
  values= [values; (fscanf(fid,'%f%f',2))'];
end
fclose(fid);
于 2012-04-18T03:16:36.633 回答