TA的每日心情 | 怒 2019-11-20 15:22 |
|---|
签到天数: 2 天 [LV.1]初来乍到
|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
1 w8 e8 Q& g; A) H' `在使用matlab处理数据时,常常会遇到在一个文件中有很多相同的格式的数据文件,如果一个一个读取不仅浪费时间,也会使程序显得臃肿。) A4 s e: d. |! w
MonthSelection='alldata';
9 ^% L# N( I9 g2 T$ ~3 \! Sstr='C:UsersRyanDocumentsMATLAB';
# d! ?7 J" n* T5 q# Y. A. l& a# U0 scd([str,MonthSelection]);%待处理的数据文件所在文件夹
0 I& p8 S" y+ C2 ^Allname=struct2cell(dir); %得到上述文件夹下的所有文件名
8 L' G' n* v* K# d2 d M6 {% R[m,n]=size(Allname);%得到文件名的个数& v" o) T8 e* a6 k7 |3 `( v2 s
str1=[str,'result'];
, o0 L6 B! x. R0 I/ k6 `mkdir(str1)%开辟新文件
9 a$ a$ ^4 \. Y; z5 u使用上述方法一定要记住文件个数为n-2个,即文件从3:n.下面就可以利用循环对数据文件进行处理了。
( W4 l8 \6 i8 Y( O& R$ y# U; ^- U. B! ]例:读取文本批文件的格式. C" V- _% U$ C, S
MonthSelection='alldata';1 X1 ~# y `2 o$ M( h8 h: A
str='C:UsersRyanDocumentsMATLAB';
( f% u( o0 C' fcd([str,MonthSelection]);%待处理的数据文件所在文件夹. ]& t0 I s/ ?- Z" d/ B
Allname=struct2cell(dir); %得到上述文件夹下的所有文件名
7 b! K- q& t5 m6 [[m,n]=size(Allname);%得到文件名的个数
$ R2 i* h- D( Fstr1=[str,'result'];%%%%
% _7 _, M' Q6 W. j. N' Umkdir(str1)%开辟新文件%%%
0 k2 Q* x/ L: ?* |3 |/ mfor i=3:n) S) h4 X, Y% p+ e
Allname{1,i};%第i个文件的全名
P1 t( A7 i5 qcd1=[cd,'',Allname{1,i}];%第i个文件地址
' |' S; {3 q! I, r% mfid=fopen(cd1,'rt');%open file for reading data
! e, |# W& t! a) P) D4 Aif (fid==-1)
# V1 u/ x8 Q( O9 h2 k5 c+ B display('No File was selected!');2 D, \: u( r! p6 W$ y% w- P* m
return;0 y5 l3 |, T9 z* z
end/ P* r& g) y* W7 O) R# B2 ]5 j) \9 t
A=textscan(fid,读取格式);
2 z6 p& _0 R% t, m2 l2 k....
& E' Y' d; v" _8 p L/ Uend- I) G1 d) [) D
|
|