24小时热门版块排行榜    

查看: 1274  |  回复: 5

hhzhyhcc

新虫 (初入文坛)

[求助] matlab批量导入文件的问题

请教如何批量导入数据文件,文件名形似A0B0,A0B2,A0B4,...A100B100.其中的数字表示坐标位置,希望导入后还是按这个顺序排列。
如果直接用dir的话,默认根据名称排列,会把98放到最后。
回复此楼
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

hhzhyhcc

新虫 (初入文坛)

其实我想了想,就是怎么样建立一个字符串数组,使其中的的内容依次为A0B0,A0B2,A0B4,...A100B100
2楼2012-11-07 15:19:02
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

hhzhyhcc

新虫 (初入文坛)

自己搞定了,可以用sprintf写入文件名,也可以用dir控制参数。
3楼2012-11-07 16:42:10
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

libralibra

至尊木虫 (著名写手)

骠骑将军

【答案】应助回帖

★ ★ ★ ★ ★
感谢参与,应助指数 +1
hhzhyhcc: 金币+5, ★★★★★最佳答案, 非常感谢,提供了另一种有效的方法。 2012-12-04 21:12:42
可以用strcat自己构造文件名,然后读取即可
测试
CODE:
for a = 0:2
    for b = 0:2:10
        fname = strcat('A',num2str(a),'B',num2str(b));
        disp(fname);
    end
end

结果
CODE:
A0B0
A0B2
A0B4
A0B6
A0B8
A0B10
A1B0
A1B2
A1B4
A1B6
A1B8
A1B10
A2B0
A2B2
A2B4
A2B6
A2B8
A2B10
>>

matlab/VB/python/c++/Java写程序请发QQ邮件:790404545@qq.com
4楼2012-11-07 21:34:49
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

weigo1987

木虫 (正式写手)

picstr=dir('*.bmp');
[row,col]=size(picstr);
picgather=cell(row,1);
for i=1:row
     picgather=imread(picstr(i).name);
end

这是我批量读图片的一个程序,不受文件名的影响,是按照文件排序来一个接一个读的。
厚德载物~自强不息~~
5楼2012-11-08 13:16:15
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

hhzhyhcc

新虫 (初入文坛)

引用回帖:
5楼: Originally posted by weigo1987 at 2012-11-08 13:16:15
picstr=dir('*.bmp');
=size(picstr);
picgather=cell(row,1);
for i=1:row
     picgather=imread(picstr(i).name);
end

这是我批量读图片的一个程序,不受文件名的影响,是按照文件排序来一个接一个 ...

直接使用dir,文件排序是按默认的,不一定是想要的顺序。可用这样的格式:
for m = 0:2
    for n = 0:2:10
        filename=dir(['A',num2str(m),'B',num2str(n),'.bmp']);
    end
end
无论如何,非常感谢你的回复。
6楼2012-12-04 21:21:00
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 hhzhyhcc 的主题更新
信息提示
请填处理意见