TA的每日心情 | 怒 2019-11-20 15:22 |
---|
签到天数: 2 天 [LV.1]初来乍到
|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
. K1 r9 p$ `' U
在使用matlab处理数据时,常常会遇到在一个文件中有很多相同的格式的数据文件,如果一个一个读取不仅浪费时间,也会使程序显得臃肿。7 t) ~9 D$ L( M5 N: h1 ~8 {
MonthSelection='alldata';
' A7 c; e6 M8 Ystr='C:UsersRyanDocumentsMATLAB';7 b2 d0 P0 s5 }( z( @# L, C! ?
cd([str,MonthSelection]);%待处理的数据文件所在文件夹
6 @* _/ x4 v5 C, k) M0 lAllname=struct2cell(dir); %得到上述文件夹下的所有文件名4 Q3 m$ F$ y( f
[m,n]=size(Allname);%得到文件名的个数) V# h9 k# D2 b! r2 v3 H
str1=[str,'result'];
]9 @% ]3 N/ d7 D2 ?! {) n$ ] ?mkdir(str1)%开辟新文件
0 {( D/ ]& x7 X& G* m0 D. |1 }4 ^使用上述方法一定要记住文件个数为n-2个,即文件从3:n.下面就可以利用循环对数据文件进行处理了。
# w# \ p% z" M例:读取文本批文件的格式$ n. q5 _8 p" g# C% V
MonthSelection='alldata';
' K3 a$ U" w/ q, |str='C:UsersRyanDocumentsMATLAB';
2 U% D* b, P4 s, S7 x4 C8 Y$ Ucd([str,MonthSelection]);%待处理的数据文件所在文件夹: I% N% t8 n; l6 U& b4 r
Allname=struct2cell(dir); %得到上述文件夹下的所有文件名% n" i9 i8 [ ?
[m,n]=size(Allname);%得到文件名的个数; ~( q$ {0 `8 W& w1 Z. o
str1=[str,'result'];%%%%
1 K1 e1 ?: f; j0 U; I1 x9 omkdir(str1)%开辟新文件%%%
' ?6 _: ?; N6 o g8 b3 i* ffor i=3:n( y5 M6 v( K; Y0 }
Allname{1,i};%第i个文件的全名+ y1 q$ q) R- }- J3 U- A
cd1=[cd,'',Allname{1,i}];%第i个文件地址+ L j& S# I+ J$ s
fid=fopen(cd1,'rt');%open file for reading data- k: C/ V8 Z/ j7 [
if (fid==-1)
6 R! }9 @# a6 }, Z display('No File was selected!');
! r# u8 x* E4 G* H return;
* `' m& H; M1 V3 D3 iend- G5 E) _) v' l5 H* S# O
A=textscan(fid,读取格式);
& `) x$ r- S, {+ d: o- [. H5 {....
6 ^# }0 w% `* o9 Cend
. |0 h3 f! Y; k) C9 _8 |& G. m |
|