tricial 发表于 2009-4-2 10:21

struct2cell(dir)

我现在有18个.txt文件存放在d盘1文件夹里,每个txt文件都是61*12的数字矩阵。想用struct2cell(dir)这个函数把它们一次性读入到一个细胞矩阵当中,为什么运行出来cell是4*20大小呢?其中的原理小弟没研究明白,请高人指点,还有,能用其他更好的方式把这18个数字矩阵一次性读入到matlab里么?

ChaChing 发表于 2009-4-2 11:47

help dir
help struct2cell

tricial 发表于 2009-4-8 14:49

回复 沙发 ChaChing 的帖子

help里没有说明struct2cell(dir)的啊,它举得例子我到是看懂了,可是好像跟dir还是不一样啊

ChaChing 发表于 2009-4-8 16:12

帮帮忙! 看仔细点!
dir出来的东西是Display directory listing, 并无档案内资料的内容, struct2cell(dir)转换完当然是4*nfile (4个field*n个file)!
为何LZ的case有18个档案却显示20, 是因其含'.'及'..'

friendchj 发表于 2009-4-8 16:18

试试:
clear
clc
fl=dir('*.txt');
len=length(fl);
data=cell(1,len);
for i=1:len
    data{i}=load(fl(i).name);
end

ChaChing 发表于 2009-4-8 16:32

回复 5楼 friendchj 的帖子

本想让楼主自个儿试试的!

friendchj 发表于 2009-4-8 16:56

回复 6楼 ChaChing 的帖子

我也是第一次用dir函数,刚才试了试,发现那样可行,就贴出来了,呵呵
发现好多问题都可以通过help和尝试解决的,希望会员能多动动手,多看看matlab自带的help,对自己学习有帮助

[ 本帖最后由 friendchj 于 2009-4-8 16:58 编辑 ]

tricial 发表于 2009-4-8 17:16

回复 地板 ChaChing 的帖子

嗯嗯
'.'        '..'        '11.txt'        '12.txt'       
'08-Apr-2009 16:37:47'        '08-Apr-2009 16:40:59'        '01-Apr-2009 09:50:24'        '01-Apr-2009 09:56:44'       
0        0        1525        1523       
true        true        false        false       
除了11.txt12.txt以外都是系统默认的?

ChaChing 发表于 2009-4-8 20:12

回复 7楼 friendchj 的帖子

第一次用?
在这麽短时间就完成, 佩服!
以前就用过很多次, 但我仍需再看看help并试才行! 唉真是岁月不饶人!

ChaChing 发表于 2009-4-8 20:18

回复 8楼 tricial 的帖子

"除了11.txt12.txt以外都是系统默认的?"
怕LZ误解, 叮咛下!
不同行代表意义不同field, 分别为name, date, bytes, isdir

tricial 发表于 2009-4-9 10:59

回复 10楼 ChaChing 的帖子

啊,看明白了,原来help dir里说的意思误解了,谢谢你了

tricial 发表于 2009-4-13 16:53

回复 10楼 ChaChing 的帖子

偶是菜鸟,所以有时候你说的意思我明白,但是不知道怎么去实现,以后会多多学习的,还请高手们多多指教

[ 本帖最后由 tricial 于 2009-4-13 17:58 编辑 ]
页: [1]
查看完整版本: struct2cell(dir)