创建动态文件名
有matlab编程需求的同学可以私聊~
本文主要使用matlab循环打开多个文件,很多同学通过实验获取到多个命名规则的实验数据,如果要使用matlab进行处理时,第一步就是循环读取这些数据
读取数据时,首先需要将文件的命名格式保存到变量filename中,然后对filename进行读取。一般来说如果要循环读取多个文件,多个文件名一般都是有规律的,都是有固定名+变量组成,如下图所示:

我们可以看出上图中文件名都为时间格式的,只有秒数不一样,前面的分钟数都一样,因此仅需要将秒数设置为变量即可,然后将文件的变量部分和固定部分以及文件后缀组合到filename中,然后根据不同的文件格式进行读取操作,如下所示:
filename = ['2020.11.4 15_47_',time_str,'.csv'];
filename中各个文件名组成部分之间用逗号隔开,文件内容用单引号引用,变量的文件内容不需要引用,上文中的time_str为变量,也就是文件名中的秒数,因此不需要引用。.csv为文件格式,第一个单引号中的为文件名中的固定部分。设置好自己需要的文件名个时候就可以开始循环读取了
循环读取
一般来说循环读取使用for循环即可,把文件命中带变量的部分当作循环内容,对于上图中这种由固定部分+变化部分的文件我们读取时,主要采取以下方式进行读取:
start_time = 24;%开始时间
stop_time = 43; %结束时间
for n = start_time:stop_time
time_str = num2str(n);
filename = ['2020.11.4 15_47_',time_str,'.csv'];
data = csvread(filename);
end
循环读取后可以根据自身需求对文件内容进行覆盖或者叠加,不懂得同学可以评论区留言,如果本文对你有所帮助,可以加个关注!
本文介绍如何使用Matlab通过循环来读取一系列具有特定命名规律的文件,并提供了具体的代码示例,帮助读者掌握文件名构造及数据读取的方法。
1万+

被折叠的 条评论
为什么被折叠?



