读取一个改变txt文件的matlab

时间:2017-02-22 06:46:28

标签: matlab

我有一个文本文件(5列" \ t"分开),由另一个软件写入。我需要从文件中读取读数并进行一些计算。是否有人阅读添加到文件中的新行并处理它然后再次为每个新行重复。只要它完成这项工作,我就不会介意一点延迟。

我的想法是逐行开始读取文件,直到文件结束,然后它将从最后停止的位置读取,直到文件的新结尾...等。 这可以在Matlab中完成吗?我可以指定文件读取的起始行吗?我还可以更新文件结束点吗?

为了防止循环在eof点破坏,我想我应该将循环设置为由时间或其他任何东西控制,而它应该在每次迭代结束时检查eof。

我主要使用Matlab,但是如果有更好的选择可以用于此目的(我可以合理地学习),请随时指导我。

Edit1:我已按照你的建议尝试使用dlmread,当我在循环外读取文件时,即使我更改R1并使用其他软件更新文本,它也能正确读取文件。但是,当我把它放在一个循环中时,我得到这个错误: 使用dlmread时出错(第143行) 文件末尾不支持空格式字符串。

以下是我多次阅读的代码:

    clear all
x=0;
R1=0; C1=0;
while(x<10)

    M = dlmread('tst_4.txt','\t',R1,C1);
    R1=length(M);
    x=x+1;
end

由于

1 个答案:

答案 0 :(得分:0)

您可以使用dlmread(filename,delimiter,R1,C1)。其中R1和C1分别是行和列偏移量。通过将行偏移设置为您已读取的最后一行,您可以读取文件内容,不包括您已阅读的内容。