dykiamy 发表于 2007-5-17 23:17

求组:MATLAB数据批量读取问题。

比如有很多个数据文件:asdf1.txt、asdf2.txt、asdf1-2.txt、asdf3.txt……
每个数据文件的格式如下

序号数据1数据2附加数据
1 21 3 44
2 33 6 87
……

如何将这些数据文件一次批量读取,以方便对其进行均值方差等运算?

xjzuo 发表于 2007-5-17 23:27

搜索论坛.

dykiamy 发表于 2007-5-18 01:26

没找到相关的讨论呢,能帮忙给个链接?

pengweicai 发表于 2007-5-18 09:30

%读取当前工作文件夹所有文件
ww=struct2cell(dir);
%选择(单个文件进行处理)
t=ww(1,3);
%打开并读取
IFid=fopen(char(t),'rb');
speech = fread(IFid, 'int16');
执行文件
.............................
%关闭
fclose('all');

dykiamy 发表于 2007-5-19 21:53

关于matlab对数据文件批量读取的问题。


%读取当前工作文件夹所有文件
ww=struct2cell(dir);
%选择(单个文件进行处理)
t=ww(1,3);
%打开并读取
IFid=fopen(char(t),'rb');
speech = fread(IFid, 'int16');
执行文件
.............................
%关闭
fclose('all');


回去试了试,不行,是不是因为我的数据第一行为汉字的原因?
后来我用下面的程序可以读:

ww=struct2cell('E:\data\20070502');
t=ww(1,3)
fid=fopen(char(t),'rb');
temp=fgetl(fid);
data1=fscanf(fid,'%g',); %我的数据文件是12列


不过程序必须放在数据文件目录下,否则会出错,fid返回-1。
后来看了一下原来是因为char(t)仅仅返回了文件名称,没有路径。

问:fread如何用?第一断程序为什么我运行不下去?

[ 本帖最后由 eight 于 2007-5-19 23:28 编辑 ]

dykiamy 发表于 2007-5-20 11:09

还有一个问题:
struct2cell读取文件列表,文件是按照名称排列的,可不可以让文件明按照时间顺序形成数组呢?

gwei 发表于 2007-5-20 14:36

回复 #6 dykiamy 的帖子

为什么我执行上面的程序得到错误Function 'struct2cell' is not defined for values of class 'char'.

eight 发表于 2007-5-20 23:12

原帖由 gwei 于 2007-5-20 14:36 发表 http://www.chinavib.com/forum/images/common/back.gif
为什么我执行上面的程序得到错误Function 'struct2cell' is not defined for values of class 'char'.

help struct2cell
页: [1]
查看完整版本: 求组:MATLAB数据批量读取问题。