TA的每日心情 | 怒 2019-11-20 15:22 |
|---|
签到天数: 2 天 [LV.1]初来乍到
|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
- M9 F) g- y% ~6 V在使用matlab处理数据时,常常会遇到在一个文件中有很多相同的格式的数据文件,如果一个一个读取不仅浪费时间,也会使程序显得臃肿。
' _+ ]/ c v! v! Y; r* RMonthSelection='alldata';% Z( N% x- i$ p/ S
str='C:UsersRyanDocumentsMATLAB';% |" t5 B( O7 I
cd([str,MonthSelection]);%待处理的数据文件所在文件夹: J9 m2 H R2 G$ A% o8 {& ]
Allname=struct2cell(dir); %得到上述文件夹下的所有文件名$ ?' \$ g: u' r- J5 z0 k8 h C
[m,n]=size(Allname);%得到文件名的个数" D2 e# k' F0 }* b6 D8 Y+ ?. s1 k
str1=[str,'result'];
4 Z5 q) v* D3 s3 R8 z1 Bmkdir(str1)%开辟新文件/ E; A- N6 K! ?9 P
使用上述方法一定要记住文件个数为n-2个,即文件从3:n.下面就可以利用循环对数据文件进行处理了。
; y6 e5 G* C0 d例:读取文本批文件的格式$ |/ H; a7 Y/ N
MonthSelection='alldata';3 u) J w" X/ q4 z; z9 C
str='C:UsersRyanDocumentsMATLAB';
) {! Q. {0 k& h& Q' \4 H- bcd([str,MonthSelection]);%待处理的数据文件所在文件夹! C! d9 C0 q' ^
Allname=struct2cell(dir); %得到上述文件夹下的所有文件名
+ q7 }6 }2 a$ y$ g7 M/ a[m,n]=size(Allname);%得到文件名的个数. i( ^9 F$ r( d1 z
str1=[str,'result'];%%%%
' [, ]/ F) `9 d! S% S fmkdir(str1)%开辟新文件%%%
' |+ h0 @2 E3 U: a) V; Jfor i=3:n' \8 @' q! ~* C5 L- Q; x
Allname{1,i};%第i个文件的全名
! ?9 o% z$ c$ l$ j: _cd1=[cd,'',Allname{1,i}];%第i个文件地址
# i( H* P% J; a/ Y: afid=fopen(cd1,'rt');%open file for reading data$ m3 ~% M/ q E7 n7 A+ |) C9 ]% \
if (fid==-1)
: e- K( }0 @' u display('No File was selected!');0 I' E$ r# j L0 Y
return;1 E. p5 R- N: j
end, S' ]7 |; z" G# i0 i
A=textscan(fid,读取格式);: Z1 j$ m8 @( T2 N6 g7 j; j
....
2 k% I+ U) T3 S% E) X- rend3 r: w: F. h6 u- B. `2 h4 s& D
|
|