在Matlab中将文本文件读取到矩阵,行长未知

时间:2012-10-22 01:39:22

标签: matlab matlab-figure

我有一个文本文件,格式有点像这样:

1 2 3 4 5 6
7 8 9
0 11 2 32 45 6 6
1 2

我想读取每一行并为每一行画一条线.x轴是[1:row.length],y轴是每一行。

2 个答案:

答案 0 :(得分:3)

fid = fopen('dat.txt');

line = fgetl(fid);

% if you want everything on the same axis, set it up here
axis([0,20,-10,10])
hold all    

while ischar(line)
  yy = str2num(line);
  xx = 1:length(yy);
  plot(xx,yy)
  line = fgetl(fid);
end
hold off

fclose(fid);

请注意,fofl()的feof()效果不佳,请参阅here

答案 1 :(得分:-1)

最简单的方法是测试特定字符。检查新行字符,以确定您是否在当前行的末尾和文件结尾处查看是否在文件的末尾。

看看:http://www.mathworks.com/help/matlab/ref/feof.html