【Matlab】eval命令的应用

[复制链接]
eval在matlab中可以用来执行字符串表示的命令,现总结几个常用格式例子:! X1 a* o  T4 x
(1)
" b$ C: E# z' `) `    for i=1:length(file)
' t: y2 ~3 w! j! P       data=load(file(i,1).name);9 O) a# Q: d9 }' }
       ind=find(data(:,1)>50000&data(:,7)<0.9&data(:,8)<7);, ?$ R4 I9 v7 |( q: X
       name=file(i,1).name(1:length(file(i,1).name)-4);     
# Q7 J! a" Z* M        eval([name,'=','data(ind,;']);               
2 |3 ?, M2 i" Y+ s9 A, A        dat_nam=[' ',name];
, ]$ p0 a2 i: v9 ?1 B        eval(['save ',outdir,name,dat_nam])    * Y; D6 o6 O8 V$ v6 q
    end& v& A# _6 K* e
(2)
0 X2 Z/ U1 W2 R& b    for i=[2 3 5 6]0 j" v/ k& s/ s, U  Z+ f
           eval(['data=','load(''DC',num2str(i),'.mat'');'])
  y( Y& e. e9 z1 k6 s: ~* V/ U) F$ L           eval(['data1=','data.DC',num2str(i),'_nd5.u(:,1);'])% o! V$ Q3 z6 V+ {; I/ h. a7 F1 {& Q
           eval(['data2=','data.DC',num2str(i),'_nd5.v(:,1);'])
( i" X  Y. d% U- C7 K           U_std(i,1)=std(data1);- N* D+ D/ l7 _) Y% D
           V_std(i,1)=std(data2);
- M- Z% f  x$ Z% O    end" q6 Y9 d; i( q2 r& m0 ?' k
(3)
2 V: p" t+ S. @5 e) [) |               for j=1:34;  P6 W/ l" i0 s+ R# l2 {3 L6 n
                     for i=j*92-91:j*92
; D! {! z8 j4 N0 {5 r- `2 h& @4 D. O                               k=i-92*(j-1);
4 m  z2 X  Q7 J- a2 y, z                               data(k,:,=mean(u(i*4-3:i*4,:,);
# A6 ^4 F: o7 X; H                      end  g' c# d# ~- E! o9 _& P
                      eval(['u',num2str(j),'=data;'])0 ?' x5 O3 d5 N, g9 T1 J# i' ]
                      eval(['save u',num2str(j),' u',num2str(j)])

4 F4 C- k% j. Z# G/ W/ r
                end
. S# F5 S2 k* M- z! {! h/ c(4)
( V. {; z9 [# R4 r3 W2 x    datadir='F:\工作\2017\解决问题\data\DG\';. P- p5 a/ _6 Z+ w
    filename=dir([datadir,'\*.mat']);
$ l! F- ]0 a6 p! W/ R6 |$ I    for i=1:length(filename)- [; D1 e( [5 }  D! Y+ x: h1 z
        eval(['data=','load([''',datadir,'DG',num2str(i),'.mat'']);'])
$ w4 h, w7 ?5 g" W        DG_stainfo(i,=data.loc;
. ~+ o" E+ ?- u! E4 y4 Q$ e! J        clear data4 C1 _  L5 ?5 ~" u- Q
    end: \1 E  K4 j1 [+ o! W5 R) O
    * Z8 e# x6 f* ^7 s+ r
* h+ V1 h6 {7 P

, O; k3 q) m6 ?5 P2 X- H6 e  Seval能够进行批处理,所以对命名规律的数据的处理很有帮助。
6 E( h  Z; c# q2 J                    
/ c) p; {2 q! g3 S# D! h* z$ D9 j# {% a1 V( q) B
                                        转载本文请联系原作者获取授权,同时请注明本文来自叶瑞杰科学网博客。
回复

举报 使用道具

相关帖子

全部回帖
暂无回帖,快来参与回复吧
懒得打字?点击右侧快捷回复 【吾爱海洋论坛发文有奖】
您需要登录后才可以回帖 登录 | 立即注册
黄金品质
活跃在2021-12-8
快速回复 返回顶部 返回列表