Matlab中如何批量读取文件夹中的文件进行处理?

「已注销」 2014-07-18 08:06:12
比如我有一个文件夹abc下有1000个文件,每个文件的数据格式都相同,为<id, time, x, y, z>,现在我要依次遍历每个文件,得到<x, y>的值,然后画图,我写了如下的一个程序,但是有问题,如果有谁看到,还请帮忙看下这个问题要怎么处理,感激之情不胜言表。
clear;
file_read = dir('abc')
file_length = length(file_read)
for i = 1:file_length
file_name = file_read(i).name
loc_X = textread(file_name, '%*s%*s %.8f %*s%*s)
loc_Y = textread(file_name, '%*s%*s %*s %.8f %*s)
figure
plot(loc_X, loc_Y, '-sb')
hold on
end
...全文
3435 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
ajing2014 2015-09-17
  • 打赏
  • 举报
回复
clc; clear all; file_read=dir('D:\Programs\matlab\程序\abc\*.txt');%读取文件夹abc的位置 filenames={file_read.name}'; file_length=length(file_read);%这里得到的结果应该为1000 for i=1:file_length [x,y]=textread(strcat('D:\Programs\matlab\程序\abc\',file_read(i).name),''%*s%*s %f %f%*f');%感觉z的数据类型应该是float型 %画图处理 end
tommytsx 2014-07-24
  • 打赏
  • 举报
回复
比如我这个filename=‘2010148101’为要读取的文件,2010148101为一个文件名,还有很多这类似的文件,我想读取全部信息,怎么办,用循环。我试了,不行
tommytsx 2014-07-23
  • 打赏
  • 举报
回复
mydir=uigetdir('c:','选择一个目录'); if mydir(end)~='\' mydir=[mydir,'\']; end DIRS=dir([mydir,'*.txt']); %扩展名 n=length(DIRS); for i=1:n if ~DIRS(i).isdir DIRS(i).name %%%%%%%要载入,做处理,你在这里弄就可以了(意思是在这句后面写入要读的程序就可以了吗) end end
「已注销」 2014-07-22
  • 打赏
  • 举报
回复
引用 1 楼 lhfslhfs 的回复:
mydir=uigetdir('c:','选择一个目录'); if mydir(end)~='\' mydir=[mydir,'\']; end DIRS=dir([mydir,'*.txt']); %扩展名 n=length(DIRS); for i=1:n if ~DIRS(i).isdir DIRS(i).name %%%%%%%要载入,做处理,你在这里弄就可以了 end end
谢谢你的回答,这种方法感觉也不对,我刚接触matlab不久,很多东西不懂,你能不能在帮我看看,下面是我文件夹下的文件类型和文件的内容,我只想提取其中红圈标注的的内容,我在做的过程中出现了一些错误,到现在还没解决,麻烦你了。
青松2 2014-07-21
  • 打赏
  • 举报
回复
mydir=uigetdir('c:','选择一个目录'); if mydir(end)~='\' mydir=[mydir,'\']; end DIRS=dir([mydir,'*.txt']); %扩展名 n=length(DIRS); for i=1:n if ~DIRS(i).isdir DIRS(i).name %%%%%%%要载入,做处理,你在这里弄就可以了 end end

3,423

社区成员

发帖
与我相关
我的任务
社区描述
其他开发语言 其他开发语言
社区管理员
  • 其他开发语言社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧