eval在matlab中可以用来执行字符串表示的命令,现总结几个常用格式例子:
6 j& q! ~9 Q! I0 x' P3 h! e2 L(1) R6 P0 q9 d& t% j
for i=1:length(file)6 r8 G' C( ^/ a0 a5 X
data=load(file(i,1).name);
; Z3 M9 N+ d" j6 s. o ind=find(data(:,1)>50000&data(:,7)<0.9&data(:,8)<7);6 K: Y( P: D2 z# ~0 \( r! e
name=file(i,1).name(1:length(file(i,1).name)-4);
% X8 ^+ d' y3 a7 k eval([name,&#39;=&#39;,&#39;data(ind, ;&#39;]);
' n0 |6 @9 L: K4 a# q dat_nam=[&#39; &#39;,name];
' _/ n5 C& S c, P4 y) l1 w& s4 D/ n eval([&#39;save &#39;,outdir,name,dat_nam])
+ |' |9 W7 s" w9 m U& Z end
+ h; |6 h/ q% i(2)# K: {. [% J$ \, N+ z/ v5 ?
for i=[2 3 5 6]. E; g/ p* c7 K/ a% N& C
eval([&#39;data=&#39;,&#39;load(&#39;&#39;DC&#39;,num2str(i),&#39;.mat&#39;&#39;);&#39;])
1 W" S- W+ A# f* U# v eval([&#39;data1=&#39;,&#39;data.DC&#39;,num2str(i),&#39;_nd5.u(:,1);&#39;])
y* }) J. F: l0 c eval([&#39;data2=&#39;,&#39;data.DC&#39;,num2str(i),&#39;_nd5.v(:,1);&#39;])
1 ?$ }" O8 M% g @; e U_std(i,1)=std(data1);
9 G5 t2 u3 h: C" B/ n( I V_std(i,1)=std(data2);
# ?3 n- a/ @; ]' @. U end; K$ _8 N. \: Y$ w0 S1 [2 e( U% R
(3)
* e. _! }- U+ t3 } for j=1:34;
7 e) E1 ]5 t6 A A* m3 Q( p4 ~ for i=j*92-91:j*92# l5 M+ I0 c9 @. n
k=i-92*(j-1);
0 O; B# F# T. k# P* f3 q: P4 ~ data(k,:, =mean(u(i*4-3:i*4,:, );; |+ q3 B1 K9 |8 M. a/ w W
end7 G: S, l; l1 m( j" L
eval([&#39;u&#39;,num2str(j),&#39;=data;&#39;])! W+ b& ?2 ~( m
eval([&#39;save u&#39;,num2str(j),&#39; u&#39;,num2str(j)])4 q g0 X" ^& _
end( o; [! _& B, Z1 k3 Y2 f: A1 s% U* e
(4) - f, D" ^$ K [) [
datadir=&#39;F:\工作\2017\解决问题\data\DG\&#39;;8 F" L) F8 f2 |' d7 l# w0 c
filename=dir([datadir,&#39;\*.mat&#39;]);! S; w1 v- g! p
for i=1:length(filename)
! m) k0 F; c, S; X eval([&#39;data=&#39;,&#39;load([&#39;&#39;&#39;,datadir,&#39;DG&#39;,num2str(i),&#39;.mat&#39;&#39;]);&#39;])
* u) }, n. c2 W ~! w% n DG_stainfo(i, =data.loc;3 R) s( g2 ~) |. H- Q" [* Z5 K
clear data
& B& c3 T2 i. e# ]) C end
! M# D/ e5 D/ J6 C
, q) ?: w- S0 Z7 j' o+ m" o/ S* G2 S$ I% U( j2 O) h
! T6 |8 w3 j$ o; _) H+ @4 _5 Jeval能够进行批处理,所以对命名规律的数据的处理很有帮助。4 ^/ Z# |. `8 D( ]: h6 A" ^6 W$ D6 G
# |# S6 I% c, ]0 O
5 E: y+ U1 Z6 w! e/ o
转载本文请联系原作者获取授权,同时请注明本文来自叶瑞杰科学网博客。 |