TA的每日心情 | 怒 2019-11-20 15:22 |
|---|
签到天数: 2 天 [LV.1]初来乍到
|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
: D/ {7 G H0 A
在使用matlab处理数据时,常常会遇到在一个文件中有很多相同的格式的数据文件,如果一个一个读取不仅浪费时间,也会使程序显得臃肿。
# ~3 w1 c& \; M5 k' DMonthSelection='alldata';0 z/ P9 Q) n/ ^1 `" g `
str='C:UsersRyanDocumentsMATLAB';
3 M3 T& h- D4 N8 I- c2 b) t' hcd([str,MonthSelection]);%待处理的数据文件所在文件夹
2 G9 [- b1 o% _5 E4 C: h% C: l* |" bAllname=struct2cell(dir); %得到上述文件夹下的所有文件名6 D0 L3 S! T2 z9 G$ b
[m,n]=size(Allname);%得到文件名的个数4 k1 O; f. s7 j3 ^( M- x
str1=[str,'result'];$ y$ h, B2 b- U" ^9 K* f, y. ?
mkdir(str1)%开辟新文件 A$ F. g; P7 h7 t
使用上述方法一定要记住文件个数为n-2个,即文件从3:n.下面就可以利用循环对数据文件进行处理了。
; D7 ?6 u1 K! A4 y Y例:读取文本批文件的格式
- g) H9 T# M' ]8 O$ @) ]) KMonthSelection='alldata';
& \ E$ B2 b" o( d$ B9 Y# _4 j. xstr='C:UsersRyanDocumentsMATLAB';* y, M ]$ o. P& a) T' ^
cd([str,MonthSelection]);%待处理的数据文件所在文件夹
) Q: F2 w. P/ r* kAllname=struct2cell(dir); %得到上述文件夹下的所有文件名
) @" u P+ r9 H1 [' C N+ u# `1 c' L[m,n]=size(Allname);%得到文件名的个数
! H9 z. i0 a: s' L, D5 Estr1=[str,'result'];%%%%* h" M) {3 d9 A1 m) F
mkdir(str1)%开辟新文件%%%
- x3 {& s p6 g) v L4 ]8 w7 rfor i=3:n
; S$ a2 s. ^+ OAllname{1,i};%第i个文件的全名% s _3 A# v3 h# v" N
cd1=[cd,'',Allname{1,i}];%第i个文件地址
0 p) P' x( g/ @5 d# d$ C! U- ofid=fopen(cd1,'rt');%open file for reading data2 h) }" L- O7 o& ]: v
if (fid==-1)
2 z% G& R$ f& P/ }8 k3 N- r+ r display('No File was selected!');
9 B; d& A, O2 N7 q* s9 ] return;0 o6 q) ?) n! q g9 b" p% S. N
end
9 }9 R1 z8 ^: S0 \. C% xA=textscan(fid,读取格式);
- |% l4 N/ M, r! D2 g....
$ b4 W$ t# J$ }+ J6 v. zend; ?; K4 e- \9 v0 w# d3 P
|
|