我正在做一个使用示波器和测量信号的作业。我已经编写了一个程序来自动设置示波器输出数据的参数,以写入特定数量的文件(让我们称其为N)。我将所有这些文件都保存在一个文档中。
我想将这些文件导入到Matlab中,提取必要的数据,并在一秒的时间间隔内实时绘制它们(在文件之间)。
示例运行
将12个文件(N=12)写入到文档/开发中创建一个while循环,该循环将在输入任意键时退出,使用textread读取每个文件(我没有更新版本的matlab,因此无法使用textscan)。绘制数据
移动到下一个文件结尾
问题是文件名不一致,它们都是根据处理它们所用的时间来命名的,所以每次它们都会有不同的数量(例如stream-july 10-10:12,stream-july 10-10:13,stream-july 10-10:15)。
因此,我需要一种方法来移动到下一个文件,并绘制它,而不需要实际使用文件的名称。
我知道这很多,但任何帮助或任何点在正确的方向将非常感激。
谢谢,Jmitch
发布于 2014-07-16 19:30:17
dir在date字段中以字符数组的形式返回上次修改日期,在datenum字段中以序列日期的形式返回。您可以对datenum数组执行sort操作,并使用返回的索引加载数据。
基本上:
A = dir(mypath); % You can also add filter criteria here, per the documentation
[~,idx] = sort([A.datenum]);
for ii = 1:12
filetoload = fullfile(mypath,A(idx(ii)).name); % Build absolute path to your file
% Load in file
end发布于 2014-07-16 19:27:32
我想dir函数就是你要找的。它可以列出当前matlab文件夹的内容,并支持通配符。这样,您应该能够获得字符串数组中文件的所有路径,然后循环遍历该数组。
Documentation for dir.
这个问题可能也很有趣:How to get all files under a specific directory in MATLAB?
https://stackoverflow.com/questions/24779353
复制相似问题