TA的每日心情 | 怒 2019-11-20 15:22 |
|---|
签到天数: 2 天 [LV.1]初来乍到
|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
* i- [8 N! H' k/ e在使用matlab处理数据时,常常会遇到在一个文件中有很多相同的格式的数据文件,如果一个一个读取不仅浪费时间,也会使程序显得臃肿。4 @4 `5 L/ y9 v# ?! F6 @. c2 \# ^
MonthSelection='alldata';+ {( C6 h. j) W% n. j1 j- K
str='C:UsersRyanDocumentsMATLAB';
. _% b' V5 o$ Kcd([str,MonthSelection]);%待处理的数据文件所在文件夹4 h4 C, y* k! j2 \8 }
Allname=struct2cell(dir); %得到上述文件夹下的所有文件名) w( C1 Z/ _0 S8 I% k( Q8 x q, A
[m,n]=size(Allname);%得到文件名的个数
% `" ]- ^$ C+ i; n _# o/ ^str1=[str,'result'];
8 i7 N- X( [* a+ o$ V. nmkdir(str1)%开辟新文件
! Y, ~, t" Q* _& F, F! I- p6 y6 r0 U2 p使用上述方法一定要记住文件个数为n-2个,即文件从3:n.下面就可以利用循环对数据文件进行处理了。
& }" ]4 r" K6 y( @& T% F2 M% B例:读取文本批文件的格式
+ I1 {" c4 \" m6 \MonthSelection='alldata';
& K0 s" s# X# s l, o0 qstr='C:UsersRyanDocumentsMATLAB';
5 v; \/ O" l4 T# C. @# zcd([str,MonthSelection]);%待处理的数据文件所在文件夹2 V) e$ s, g8 D$ M% h. p8 l
Allname=struct2cell(dir); %得到上述文件夹下的所有文件名
. f9 P6 ]% A* o0 {2 P f6 R[m,n]=size(Allname);%得到文件名的个数, ^$ A# Q" q' P: v0 ]
str1=[str,'result'];%%%%
, P B- v) c- wmkdir(str1)%开辟新文件%%%
5 b" q' ]' b% f; K( Q* mfor i=3:n$ G+ @6 R+ E3 R
Allname{1,i};%第i个文件的全名5 d( I. s- f, X' y9 ]
cd1=[cd,'',Allname{1,i}];%第i个文件地址
. B! V4 l% F+ `+ ^' \; J$ Sfid=fopen(cd1,'rt');%open file for reading data
. P$ J) U; \1 r+ \! \5 c% Aif (fid==-1)
5 G$ ]! e+ z8 H" B; ?, R o display('No File was selected!');
: k# \* X K2 M" v3 q" \; c return;
2 P3 `' `" S$ q% H8 L+ h* V: yend
; B% b8 @) s7 j& qA=textscan(fid,读取格式);
7 W9 b0 n! w$ o/ ~/ X( P....
. S/ N' K$ }; M) }end$ Y, i5 f0 n: z# H' J
|
|