TA的每日心情 | 怒 2019-11-20 15:22 |
---|
签到天数: 2 天 [LV.1]初来乍到
|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
% o- j' x1 h. e+ L
在使用matlab处理数据时,常常会遇到在一个文件中有很多相同的格式的数据文件,如果一个一个读取不仅浪费时间,也会使程序显得臃肿。
; o3 S% x& h$ M* p& l3 uMonthSelection='alldata';- K) u1 |6 o1 @5 c/ \
str='C:UsersRyanDocumentsMATLAB';
4 U/ A) x! O0 a7 U) z5 F9 Scd([str,MonthSelection]);%待处理的数据文件所在文件夹2 H2 ^% j# _, G+ R5 O7 e: a
Allname=struct2cell(dir); %得到上述文件夹下的所有文件名
- h* Q m! P- B8 ]( o5 j7 _9 z, q6 ^[m,n]=size(Allname);%得到文件名的个数
' q; O$ O# W8 s _* R; cstr1=[str,'result'];
# |! N! M0 N L7 Nmkdir(str1)%开辟新文件
" {5 g! C5 M9 H: E2 g( G1 w使用上述方法一定要记住文件个数为n-2个,即文件从3:n.下面就可以利用循环对数据文件进行处理了。8 H/ M; ^$ @3 K) m7 b
例:读取文本批文件的格式% v/ O! r0 w3 y$ j% ~( y
MonthSelection='alldata';2 e1 i) g& Y! v# b$ h9 i- a8 ^3 b
str='C:UsersRyanDocumentsMATLAB';
9 T9 z7 \+ y7 ?! m8 Ucd([str,MonthSelection]);%待处理的数据文件所在文件夹4 ]7 t* z7 s( ?2 Z" b7 c
Allname=struct2cell(dir); %得到上述文件夹下的所有文件名
u# Q; s- M* X$ c[m,n]=size(Allname);%得到文件名的个数
# y% L4 s: S, y7 a" cstr1=[str,'result'];%%%%
% K+ u( b. e) f7 P3 F* _! {" S2 [mkdir(str1)%开辟新文件%%%
; a) g6 c, v7 H" _for i=3:n
; Q" N1 F, k* e, L1 kAllname{1,i};%第i个文件的全名* C' o9 }( q+ J1 i+ s* Y
cd1=[cd,'',Allname{1,i}];%第i个文件地址6 w5 ?& B5 ]( K
fid=fopen(cd1,'rt');%open file for reading data
" m: o6 L& [, [6 xif (fid==-1)
# m" b/ d( o* x4 u% O; S display('No File was selected!');
$ L t4 S+ m3 ?' S( L return;
' s$ M- P3 t2 Bend
7 D7 F9 \+ F; R7 C8 EA=textscan(fid,读取格式);
+ P% p0 r2 p4 s6 j6 T....& G5 k) z- Z" Y! o# b8 G
end
: G. {' S$ p# B1 _8 n |
|