TA的每日心情 | 怒 2019-11-20 15:22 |
|---|
签到天数: 2 天 [LV.1]初来乍到
|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
1 \- y0 E% `/ v7 g+ a$ w- R; o
在使用matlab处理数据时,常常会遇到在一个文件中有很多相同的格式的数据文件,如果一个一个读取不仅浪费时间,也会使程序显得臃肿。' \$ x& e: l7 v5 o1 _: A+ o5 |
MonthSelection='alldata';/ e2 `% R" O3 \* |1 l. a
str='C:UsersRyanDocumentsMATLAB';
+ K% L( a( [4 L1 Icd([str,MonthSelection]);%待处理的数据文件所在文件夹% n- q4 N( b" Z/ y4 q
Allname=struct2cell(dir); %得到上述文件夹下的所有文件名
( r' h5 h3 _+ M' `[m,n]=size(Allname);%得到文件名的个数
6 M# D d% U# q& sstr1=[str,'result'];
# e: V- N$ @: z4 b( U/ Mmkdir(str1)%开辟新文件% U8 X% \; u# T1 T& j
使用上述方法一定要记住文件个数为n-2个,即文件从3:n.下面就可以利用循环对数据文件进行处理了。
& M8 H; ?; X8 G例:读取文本批文件的格式7 } T4 X, m% z6 Y" O
MonthSelection='alldata';6 X4 M$ h! K, U2 N
str='C:UsersRyanDocumentsMATLAB';/ {9 t ` k& M+ D5 P" G4 J; O
cd([str,MonthSelection]);%待处理的数据文件所在文件夹4 T) o/ H3 p/ z- b
Allname=struct2cell(dir); %得到上述文件夹下的所有文件名
& q) r% x3 b0 u; i# @[m,n]=size(Allname);%得到文件名的个数
* e- \5 J: B0 C! D* c) z. fstr1=[str,'result'];%%%%
3 ?$ p7 ?& W r% Dmkdir(str1)%开辟新文件%%%* I4 e$ j3 }% z- |9 e+ f1 q2 q& N
for i=3:n
" C& G* z3 F; p" a# A$ Y4 m* Q$ EAllname{1,i};%第i个文件的全名
+ n: r2 _, J, S6 W+ y) _# ]4 icd1=[cd,'',Allname{1,i}];%第i个文件地址
# `/ W; w, V0 Sfid=fopen(cd1,'rt');%open file for reading data
% S$ ~* b. H% b0 r: s2 nif (fid==-1)
6 @: e; I1 d4 l display('No File was selected!');+ Q0 E! L, q# f9 I3 l
return;9 X+ L# w4 f) x. t
end/ `( Q# Z. l5 d6 X
A=textscan(fid,读取格式);1 o4 ^! K6 Q( T, l4 `$ j* c
....4 t8 C! o1 z: j2 o
end
* k, }% v7 G u$ |# j |
|